Please use this identifier to cite or link to this item:
https://cuir.car.chula.ac.th/handle/123456789/50309
Title: | กรอบงานสำหรับตรวจจับและจัดลำดับข้อบกพร่องของซอฟต์แวร์ในชุดข้อมูลไม่สมดุล |
Other Titles: | Framework to detect and rank software defects in imbalanced data sets |
Authors: | ธีรวิทย์ เชยกีวงศ์ |
Advisors: | พีรพล เวทีกูล |
Other author: | จุฬาลงกรณ์มหาวิทยาลัย. คณะวิศวกรรมศาสตร์ |
Advisor's Email: | Peerapon.V@chula.ac.th,Peerapon.V@chula.ac.th |
Subjects: | ซอฟต์แวร์ -- ข้อบกพร่อง การวิเคราะห์ความล้มเหลวและผลกระทบ Computer software -- Defects Failure mode and effects analysis |
Issue Date: | 2558 |
Publisher: | จุฬาลงกรณ์มหาวิทยาลัย |
Abstract: | ในกระบวนการประกันคุณภาพซอฟต์แวร์ จำเป็นอย่างยิ่งที่จะป้องกันไม่ให้ผลิตภัณฑ์ที่มีข้อบกพร่องส่งมอบให้กับลูกค้า เนื่องจากจะช่วยประหยัดต้นทุนในการบำรุงรักษา ทั้งยังส่งผลให้ซอฟต์แวร์มีคุณภาพและความน่าเชื่อถืออีกด้วย การตรวจจับข้อบกพร่องจึงถือเป็นกระบวนการสำคัญที่พยายามตรวจจับข้อบกพร่องที่มีโอกาสเกิดขึ้นในซอฟต์แวร์ได้โดยอัตโนมัติ โดยหลังจากพบข้อบกพร่องแล้ว จำเป็นอย่างยิ่งที่จะต้องระบุระดับความรุนแรง เพื่อหลีกเลี่ยงผลกระทบที่อาจก่อให้เกิดความล้มเหลวของระบบ งานวิจัยจำนวนมากได้ประยุกต์ใช้การทำเหมืองข้อมูลสำหรับตรวจจับข้อบกพร่อง อย่างไรก็ตามประสิทธิภาพการตรวจจับยังคงไม่เป็นที่น่าพอใจ เนื่องจากปัญหาความไม่สมดุลของคลาสและจำนวนข้อมูลไม่เพียงพอ ซึ่งเป็นสาเหตุให้ประสิทธิภาพในการตรวจจับและระบุระดับความรุนแรงของข้อบกพร่องลดลง งานวิจัยนี้จึงนำเสนอกรอบงานสำหรับตรวจจับและจัดลำดับข้อบกพร่องที่เกิดขึ้นในซอฟต์แวร์ โดยมุ่งเน้นที่งานสองส่วน ส่วนแรกเป็นการตรวจจับข้อบกพร่องโดยการประยุกต์ใช้วิธีอาร์เอสวีเอ็ม ซึ่งลดไบแอสของคลาสที่เป็นเสียงข้างมากโดยใช้การปรับแก้ค่าขีดแบ่ง ในส่วนที่สองจะนำเสนอการจัดลำดับข้อบกพร่องตามระดับความรุนแรงด้วยวิธีกระบวนการลำดับชั้นเชิงวิเคราะห์ (เอเอชพี) ที่พิจารณาจากค่าความเชื่อมั่น และระดับความรุนแรงของข้อบกพร่อง นอกจากนี้ยังได้นำเสนออัลกอริทึม OS-YATSI ที่รวมกันระหว่างวิธีการเรียนรู้แบบกึ่งมีผู้สอนและเทคนิคการสุ่มเพิ่มตัวอย่างในการปรับปรุงประสิทธิภาพของการจัดลำดับข้อบกพร่องตามระดับความรุนแรง โดยทำการทดลองกับซอฟต์แวร์ภาษาจาวาจำนวน 15 โปรแกรม ซึ่งผลการทดลองพบว่า กรอบงานที่นำเสนอให้ผลดีกว่าวิธีการจำแนกประเภทแบบดั้งเดิม โดยในส่วนของการทำนายข้อบกพร่อง วิธีอาร์เอสวีเอ็มให้ผลดีกว่าวิธีการแบบดั้งเดิมอย่างมีนัยสำคัญจำนวน 6 และ 5 โปรแกรมในเทอมของมาตรวัดมัชฌิมฮาร์โมนิคและมัชฌิมเรขาคณิตตามลำดับ และในส่วนของการจัดลำดับข้อบกพร่อง วิธีเอเอชพีที่นำเสนอให้ประสิทธิภาพดีกว่าการพิจารณาระดับความรุนแรงเพียงอย่างเดียวจำนวน 10 จากทั้งหมด 15 โปรแกรม ในเทอมของมาตรวัดอัตราเฉลี่ยประสิทธิภาพ นอกจากนี้ วิธี OS-YATSI ให้ผลดีกว่าวิธีการแบบดั้งเดิมอย่างมีนัยสำคัญโดยสามารถปรับปรุงประสิทธิภาพการทำนายเฉลี่ยเพิ่มขึ้น 28.79% ในเทอมของมาตรวัดมัชฌิมฮาร์โมนิคแบบค่าเฉลี่ยมหภาค |
Other Abstract: | In the software assurance process, it is crucial to prevent software with defected modules to be published to users since it can save the maintenance cost and increase software quality and reliability. Software defect prediction is recognized as an important process to automatically predict the possibility of having a defect in the software. After defects are detected, it is then needed to identify their severity levels to avoid any effects that may obstruct the whole system. However, most defect prediction studies are often faced with an imbalanced issue and scarcity of data, which causes decreased prediction performance. This research presents a framework to detect and rank defects in software. The Framework focuses on two tasks. First, we will capture defects by applying an unbiased SVM called “R-SVM,” which reduces a bias of the majority class by using the concept of threshold adjustment. Second, the detected modules will be ranked according to their severity levels by using Analytic Hierarchy Process (AHP) that considers a confidence value and severity level of the defects. Furthermore, we also propose a novel algorithm called “OS-YATSI,” that combines semi-supervised learning and oversampling strategy to improve ranking performance. The experiment was conducted on 15 Java programs. The result showed that the proposed framework outperformed all of the traditional approaches. In the defect prediction model, R-SVM significantly outperformed others on 6 programs in terms of F1. In the defect ranking model, the AHP method is the winner on 10 out of 15 programs in terms of Average Performance Rate (APR). In addition, OS-YATSI significantly outperformed all baseline classifiers on all programs at an average of 28.79% improvement in term of macro F1. |
Description: | วิทยานิพนธ์ (วท.ม.)--จุฬาลงกรณ์มหาวิทยาลัย, 2558 |
Degree Name: | วิทยาศาสตรมหาบัณฑิต |
Degree Level: | ปริญญาโท |
Degree Discipline: | วิศวกรรมซอฟต์แวร์ |
URI: | http://cuir.car.chula.ac.th/handle/123456789/50309 |
URI: | http://doi.org/10.14457/CU.the.2015.1425 |
metadata.dc.identifier.DOI: | 10.14457/CU.the.2015.1425 |
Type: | Thesis |
Appears in Collections: | Eng - Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
5670234021.pdf | 5.04 MB | Adobe PDF | View/Open |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.