Chulalongkorn University Theses and Dissertations (Chula ETD)
A meta-program and machine learning approach for detecting object-oriented software design flaws
Other Title (Parallel Title in Other Language of ETD)
วิธีการเมตาโปรแกรมและการเรียนรู้ของเครื่องสำหรับการตรวจจับข้อบกพร่องของซอฟต์แวร์เชิงวัตถุ
Year (A.D.)
2010
Document Type
Thesis
First Advisor
Pornsiri Muenchaisri
Faculty/College
Faculty of Engineering (คณะวิศวกรรมศาสตร์)
Degree Name
Doctor of Engineering
Degree Level
Doctoral Degree
Degree Discipline
Computer Engineering
DOI
10.58837/CHULA.THE.2010.1720
Abstract
Design flaws are used as a mean to identify problematic classes in object oriented software systems which directly decrease software quality, such as maintainability. Therefore such design flaws must be identified to avoid their possible negative consequences on development and maintenance of software systems. However, in recent practice, techniques and methodologies of design flaw detection can solve only some points especially in performance and efficiency of the detection. The software inspection technique is introduced to deal with design flaw problems. It, however, leads to some different issues such as time consumption. An additional proposed automated technique is software metrics. The strategies of this technique capture deviations from good design principles and heuristics by threshold values. Thus effective identifying depends on optimized threshold which is a difficult task. This dissertation proposes a new detection methodology for object-oriented software system by using declarative meta programming and explanation-based learning technique. In the proposed approach, declarative meta-programming is used to represent specific object-oriented elements and their relations in form of logic rules in meta level for describing design flaws. Explanation-based learning is used for extrapolating pattern by deductive learning for some characteristics of design flaws that are difficult to understand. The proposed methodology can efficiently detect design flaws by disregarding limitations of specific thresholds in each environment of detection and promoting the automatic detection for reducing cost and time consumption in the detection process. Case studies are conducted to evaluate the proposed detection approach.
Other Abstract (Other language abstract of ETD)
ข้อบกพร่องของการออกแบบถูกใช้เป็นวิธีการในการระบุชนิดของปัญหาในระบบซอฟต์แวร์เชิงวัตถุ ซึ่งส่งผลโดยตรงทำให้คุณภาพซอฟต์แวร์ลดลง เช่นความสามารถในการบำรุงรักษา เพราะฉะนั้นข้อบกพร่องทางการออกแบบเหล่านี้ต้องถูกตรวจจับ เพื่อหลีกเลี่ยงผลกระทบในทางลบในขั้นตอนการพัฒนาและบำรุงรักษาระบบซอฟต์แวร์ อย่างไรก็ตาม ในปัจจุบันในทางปฏิบัติ เทคนิคและวิธีการในการตรวจจับข้อบกพร่องสามารถแก้ปัญหาได้เพียงบางส่วนเท่านั้น โดยเฉพาะในเชิงสมรรถนะและประสิทธิภาพในการตรวจจับ เทคนิคการตรวจสอบซอฟต์แวร์ได้ถูกนำมาใช้เพื่อแก้ปัญหาข้อบกพร่องของการออกแบบ อย่างไรก็ตาม เทคนิคนี้นำไปสู่ผลเสียบางประการเช่นใช้เวลานาน นอกจากนี้มีการนำมาตรวัดซอฟต์แวร์มาใช้เป็นเทคนิคการตรวสอบซอฟต์แวร์แบบอัตโนมัติ กลยุทธ์ของเทคนิคนี้คือ การตรวจจับค่าความเบี่ยงเบนจากหลักการออกแบบและฮิวริสติกที่ดีโดยใช้ค่าขีดแบ่ง ดังนั้นประสิทธิภาพในการตรวจจับจึงขึ้นอยู่กับการปรับค่าขีดแบ่งให้เหมาะสมที่สุดซึ่งเป็นงานที่ยากยิ่งในวิทยานิพนธ์นี้ได้นำเสนอวิธีการตรวจจับสำหรับระบบซอฟต์แวร์เชิงวัตถุแบบใหม่ โดยใช้เทคนิคการโปรแกรมเมตาแบบการอธิบายร่วมกับเทคนิคการเรียนรู้แบบอธิบาย ในวิธีการที่นำเสนอนี้ เทคนิคการโปรแกรมเมตาแบบการอธิบาย ถูกใช้เพื่อเป็นตัวแทนองค์ประกอบเชิงวัตถุและความสัมพันธ์โดยแสดงในรูปของกฎทางตรรกะในระดับเมตา เพื่อใช้อธิบายข้อบกพร่องของการออกแบบ เทคนิคการเรียนรู้แบบอธิบาย ถูกใช้เพื่ออนุมานแบบรูปโดยการเรียนรู้แบบการอนุมาน สำหรับคุณสมบัติของข้อบกพร่องบางอย่างที่ยากต่อการทำความเข้าใจ วิธีการที่นำเสนอนี้สามารถตรวจจับข้อบกพร่องได้อย่างมีประสิทธิภาพ โดยการไม่นำข้อจำกัดของค่าเริ่มต้นเฉพาะในแต่ละสภาพแวดล้อมมาพิจารณาในการตรวจจับ และส่งเสริมการตรวจจับในรูปแบบอัตโนมัติเพื่อลดค่าใช้จ่ายและเวลาในกระบวนการตรวจจับ กรณีศึกษาหลายกรณีถูกนำมาใช้เพื่อประเมินผลวิธีการตรวจจับที่นำเสนอ
Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Recommended Citation
Mekruksavanich, Sakorn, "A meta-program and machine learning approach for detecting object-oriented software design flaws" (2010). Chulalongkorn University Theses and Dissertations (Chula ETD). 67926.
https://digital.car.chula.ac.th/chulaetd/67926