Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/7782
Title: Software fault prediction fuzzy logic and neural network techniques
Other Titles: การคาดคะเนข้อบกพร่องของซอฟต์แวร์โดยเทคนิคทางตรรกศาสตร์วิภัชนัยและโครงข่ายประสาทเทียม
Authors: Atchara Mahaweerawat
Advisors: Peraphon Sophatsathit
Chidchanok Lursinsap
Other author: Chulalongkorn University. Faculty of Science
Advisor's Email: peraphon.s@chula.ac.th
lchidcha@chula.ac.th
Subjects: Computer software
Computer software -- Development
Fuzzy logic
Neural networks (Computer sciences)
Machine learning
Issue Date: 2006
Publisher: Chulalongkorn University
Abstract: In the world of software development, organizations must optimize the use of their limited resources to deliver quality products on time and within budget. This requires efficient and effective discovery, removal, and prevention of faults introduced during the development process or residual faults from maintenance stage. To reveal software fault, testing is generally employed by procedurally running the system with adequate test cases. Such an undertaking usually incurs high costs and considerable efforts. This dissertation proposes an approach for software fault prediction and fault location without actually running the software. The process of software fault prediction consists of four stages, namely, fault-prone prediction, fault type prediction, dynamic fault prediction, and fault locating. Fault predictive models are constructed based on software metrics with the help of fuzzy logic and neural network techniques for each stage. Once identified, all potential faults are pinpointed to locate their whereabouts. The results are further analyzed to obtain principal metrics that are conducive to fault prediction with the help of sensitivity analysis process. Hence, the proposed approach will furnish a basis for machine learning building blocks that could be realized in software quality assurance, whereby replacing time-consuming and error-prone inspection process to attain more reliable software products.
Other Abstract: ในโลกของการพัฒนาซอฟต์แวร์ องค์การต่างๆ จะต้องจัดการใช้ทรัพยากรที่มีอยู่อย่างจำกัดให้เหมาะสม เพื่อส่งมอบซอฟต์แวร์ที่มีคุณภาพภายใต้ระยะเวลาที่กำหนดและงบประมาณที่จำกัด ดังนั้นการค้นหา แก้ไข และป้องกันข้อบกพร่องที่เกิดขึ้นระหว่างการพัฒนาซอฟต์แวร์ หรือข้อบกพร่องที่ยังมีอยู่ในขั้นตอนการบำรุงรักษาซอฟต์แวร์จึงเป็น การทดสอบซอฟต์แวร์เป็นวิธีที่ใช้กันทั่วไป เพื่อหาข้อบกพร่องของซอฟต์แวร์อย่างเป็นขั้นตอนกับชุดทดสอบที่เหมาะสม ซึ่งวิธีนี้จะเสียค่าใช้จ่ายสูงและใช้ความพยายามอย่างมาก วิทยานิพนธ์นี้ได้นำเสนอวิธีการคาดคะเนข้อบกพร่องของซอฟต์แวร์ โดยไม่ต้องติดตั้งและใช้งานซอฟต์แวร์จริง กระบวนการคาดคะเนข้อบกพร่องของซอฟต์แวร์ประกอบด้วย 4 ขั้นตอนคือ การคาดคะเนความบกพร่อง การคาดคะเนประเภทข้อบกพร่อง การคาดคะเนข้อบกพร่องชนิดพลวัต และการหาตำแหน่งของข้อบกพร่อง โดยการสร้างแบบจำลองการคาดคะเนข้อบกพร่อง สำหรับแต่ละขั้นตอนบนพื้นฐานของซอฟต์แวร์เมตริกซ์ ด้วยเทคนิคทางตรรกะวิภัชนัยและโครงข่ายประสาทเทียม เมื่อระบุได้ว่าซอฟต์แวร์มีความบกพร่อง ซอฟต์แวร์ดังกล่าวจะถูกพิจารณาเพื่อหาตำแหน่งของข้อบกพร่อง และผลของการทำนายความบกพร่องยังถูกวิเคราะห์ต่อ เพื่อหาซอฟต์แวร์เมตริกซ์ที่มีความสำคัญต่อการทำนายความบกพร่อง ด้วยเทคนิคการวิเคราะห์ความไหว ดังนั้นวิธีการที่นำเสนอนี้จะเป็นพื้นฐานสำหรับการสร้างตัวแบบด้วยกลไกการเรียนรู้ เพื่อการประกันคุณภาพของซอฟต์แวร์ อีกทั้งช่วยละระยะเวลาที่ใช้ในการตรวจสอบซอฟต์แวร์ ที่มีความผิดพลาดง่ายเพื่อให้ได้มาซึ่งซอฟต์แวร์ที่มีคุณภาพและไว้ใจได้
Description: Thesis (Ph.D.)--Chulalongkorn University, 2006
Degree Name: Doctor of Philosophy
Degree Level: Doctoral Degree
Degree Discipline: Computer Science
URI: http://cuir.car.chula.ac.th/handle/123456789/7782
URI: http://doi.org/10.14457/CU.the.2006.1492
ISBN: 9741439113
metadata.dc.identifier.DOI: 10.14457/CU.the.2006.1492
Type: Thesis
Appears in Collections:Sci - Theses

Files in This Item:
File Description SizeFormat 
Atchara_Ma.pdf2.67 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.