DSpace Repository

A meta-program and machine learning approach for detecting object-oriented software design flaws

Show simple item record

dc.contributor.advisor Pornsiri Muenchaisri
dc.contributor.author Sakorn Mekruksavanich
dc.contributor.other Chulalongkorn University. Faculty of Engineering
dc.date.accessioned 2013-12-06T08:17:42Z
dc.date.available 2013-12-06T08:17:42Z
dc.date.issued 2010
dc.identifier.uri http://cuir.car.chula.ac.th/handle/123456789/36932
dc.description Thesis (D.Eng.)--Chulalongkorn University, 2010 en_US
dc.description.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. en_US
dc.description.abstractalternative ข้อบกพร่องของการออกแบบถูกใช้เป็นวิธีการในการระบุชนิดของปัญหาในระบบซอฟต์แวร์เชิงวัตถุ ซึ่งส่งผลโดยตรงทำให้คุณภาพซอฟต์แวร์ลดลง เช่นความสามารถในการบำรุงรักษา เพราะฉะนั้นข้อบกพร่องทางการออกแบบเหล่านี้ต้องถูกตรวจจับ เพื่อหลีกเลี่ยงผลกระทบในทางลบในขั้นตอนการพัฒนาและบำรุงรักษาระบบซอฟต์แวร์ อย่างไรก็ตาม ในปัจจุบันในทางปฏิบัติ เทคนิคและวิธีการในการตรวจจับข้อบกพร่องสามารถแก้ปัญหาได้เพียงบางส่วนเท่านั้น โดยเฉพาะในเชิงสมรรถนะและประสิทธิภาพในการตรวจจับ เทคนิคการตรวจสอบซอฟต์แวร์ได้ถูกนำมาใช้เพื่อแก้ปัญหาข้อบกพร่องของการออกแบบ อย่างไรก็ตาม เทคนิคนี้นำไปสู่ผลเสียบางประการเช่นใช้เวลานาน นอกจากนี้มีการนำมาตรวัดซอฟต์แวร์มาใช้เป็นเทคนิคการตรวสอบซอฟต์แวร์แบบอัตโนมัติ กลยุทธ์ของเทคนิคนี้คือ การตรวจจับค่าความเบี่ยงเบนจากหลักการออกแบบและฮิวริสติกที่ดีโดยใช้ค่าขีดแบ่ง ดังนั้นประสิทธิภาพในการตรวจจับจึงขึ้นอยู่กับการปรับค่าขีดแบ่งให้เหมาะสมที่สุดซึ่งเป็นงานที่ยากยิ่ง ในวิทยานิพนธ์นี้ได้นำเสนอวิธีการตรวจจับสำหรับระบบซอฟต์แวร์เชิงวัตถุแบบใหม่ โดยใช้เทคนิคการโปรแกรมเมตาแบบการอธิบายร่วมกับเทคนิคการเรียนรู้แบบอธิบาย ในวิธีการที่นำเสนอนี้ เทคนิคการโปรแกรมเมตาแบบการอธิบาย ถูกใช้เพื่อเป็นตัวแทนองค์ประกอบเชิงวัตถุและความสัมพันธ์โดยแสดงในรูปของกฎทางตรรกะในระดับเมตา เพื่อใช้อธิบายข้อบกพร่องของการออกแบบ เทคนิคการเรียนรู้แบบอธิบาย ถูกใช้เพื่ออนุมานแบบรูปโดยการเรียนรู้แบบการอนุมาน สำหรับคุณสมบัติของข้อบกพร่องบางอย่างที่ยากต่อการทำความเข้าใจ วิธีการที่นำเสนอนี้สามารถตรวจจับข้อบกพร่องได้อย่างมีประสิทธิภาพ โดยการไม่นำข้อจำกัดของค่าเริ่มต้นเฉพาะในแต่ละสภาพแวดล้อมมาพิจารณาในการตรวจจับ และส่งเสริมการตรวจจับในรูปแบบอัตโนมัติเพื่อลดค่าใช้จ่ายและเวลาในกระบวนการตรวจจับ กรณีศึกษาหลายกรณีถูกนำมาใช้เพื่อประเมินผลวิธีการตรวจจับที่นำเสนอ en_US
dc.language.iso en en_US
dc.publisher Chulalongkorn University en_US
dc.relation.uri http://doi.org/10.14457/CU.the.2010.912
dc.rights Chulalongkorn University en_US
dc.subject Object-oriented programming ‪(Computer science)‬ en_US
dc.subject Machine learning en_US
dc.subject Computer software -- Defects en_US
dc.subject Computer software -- Development en_US
dc.subject การโปรแกรมเชิงวัตถุ en_US
dc.subject การเรียนรู้ของเครื่อง en_US
dc.subject ซอฟต์แวร์ -- ข้อบกพร่อง en_US
dc.subject ซอฟต์แวร์ -- การพัฒนา en_US
dc.subject ปริญญาดุษฎีบัณฑิต en_US
dc.title A meta-program and machine learning approach for detecting object-oriented software design flaws en_US
dc.title.alternative วิธีการเมตาโปรแกรมและการเรียนรู้ของเครื่องสำหรับการตรวจจับข้อบกพร่องของซอฟต์แวร์เชิงวัตถุ en_US
dc.type Thesis en_US
dc.degree.name Doctor of Engineering en_US
dc.degree.level Doctoral Degree en_US
dc.degree.discipline Computer Engineering en_US
dc.degree.grantor Chulalongkorn University en_US
dc.email.advisor Pornsiri.Mu@Chula.ac.th
dc.identifier.DOI 10.14457/CU.the.2010.912


Files in this item

This item appears in the following Collection(s)

Show simple item record