Please use this identifier to cite or link to this item: https://cuir.car.chula.ac.th/handle/123456789/36932
Title: A meta-program and machine learning approach for detecting object-oriented software design flaws
Other Titles: วิธีการเมตาโปรแกรมและการเรียนรู้ของเครื่องสำหรับการตรวจจับข้อบกพร่องของซอฟต์แวร์เชิงวัตถุ
Authors: Sakorn Mekruksavanich
Advisors: Pornsiri Muenchaisri
Other author: Chulalongkorn University. Faculty of Engineering
Advisor's Email: Pornsiri.Mu@Chula.ac.th
Subjects: Object-oriented programming ‪(Computer science)‬
Machine learning
Computer software -- Defects
Computer software -- Development
การโปรแกรมเชิงวัตถุ
การเรียนรู้ของเครื่อง
ซอฟต์แวร์ -- ข้อบกพร่อง
ซอฟต์แวร์ -- การพัฒนา
ปริญญาดุษฎีบัณฑิต
Issue Date: 2010
Publisher: Chulalongkorn University
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: ข้อบกพร่องของการออกแบบถูกใช้เป็นวิธีการในการระบุชนิดของปัญหาในระบบซอฟต์แวร์เชิงวัตถุ ซึ่งส่งผลโดยตรงทำให้คุณภาพซอฟต์แวร์ลดลง เช่นความสามารถในการบำรุงรักษา เพราะฉะนั้นข้อบกพร่องทางการออกแบบเหล่านี้ต้องถูกตรวจจับ เพื่อหลีกเลี่ยงผลกระทบในทางลบในขั้นตอนการพัฒนาและบำรุงรักษาระบบซอฟต์แวร์ อย่างไรก็ตาม ในปัจจุบันในทางปฏิบัติ เทคนิคและวิธีการในการตรวจจับข้อบกพร่องสามารถแก้ปัญหาได้เพียงบางส่วนเท่านั้น โดยเฉพาะในเชิงสมรรถนะและประสิทธิภาพในการตรวจจับ เทคนิคการตรวจสอบซอฟต์แวร์ได้ถูกนำมาใช้เพื่อแก้ปัญหาข้อบกพร่องของการออกแบบ อย่างไรก็ตาม เทคนิคนี้นำไปสู่ผลเสียบางประการเช่นใช้เวลานาน นอกจากนี้มีการนำมาตรวัดซอฟต์แวร์มาใช้เป็นเทคนิคการตรวสอบซอฟต์แวร์แบบอัตโนมัติ กลยุทธ์ของเทคนิคนี้คือ การตรวจจับค่าความเบี่ยงเบนจากหลักการออกแบบและฮิวริสติกที่ดีโดยใช้ค่าขีดแบ่ง ดังนั้นประสิทธิภาพในการตรวจจับจึงขึ้นอยู่กับการปรับค่าขีดแบ่งให้เหมาะสมที่สุดซึ่งเป็นงานที่ยากยิ่ง ในวิทยานิพนธ์นี้ได้นำเสนอวิธีการตรวจจับสำหรับระบบซอฟต์แวร์เชิงวัตถุแบบใหม่ โดยใช้เทคนิคการโปรแกรมเมตาแบบการอธิบายร่วมกับเทคนิคการเรียนรู้แบบอธิบาย ในวิธีการที่นำเสนอนี้ เทคนิคการโปรแกรมเมตาแบบการอธิบาย ถูกใช้เพื่อเป็นตัวแทนองค์ประกอบเชิงวัตถุและความสัมพันธ์โดยแสดงในรูปของกฎทางตรรกะในระดับเมตา เพื่อใช้อธิบายข้อบกพร่องของการออกแบบ เทคนิคการเรียนรู้แบบอธิบาย ถูกใช้เพื่ออนุมานแบบรูปโดยการเรียนรู้แบบการอนุมาน สำหรับคุณสมบัติของข้อบกพร่องบางอย่างที่ยากต่อการทำความเข้าใจ วิธีการที่นำเสนอนี้สามารถตรวจจับข้อบกพร่องได้อย่างมีประสิทธิภาพ โดยการไม่นำข้อจำกัดของค่าเริ่มต้นเฉพาะในแต่ละสภาพแวดล้อมมาพิจารณาในการตรวจจับ และส่งเสริมการตรวจจับในรูปแบบอัตโนมัติเพื่อลดค่าใช้จ่ายและเวลาในกระบวนการตรวจจับ กรณีศึกษาหลายกรณีถูกนำมาใช้เพื่อประเมินผลวิธีการตรวจจับที่นำเสนอ
Description: Thesis (D.Eng.)--Chulalongkorn University, 2010
Degree Name: Doctor of Engineering
Degree Level: Doctoral Degree
Degree Discipline: Computer Engineering
URI: http://cuir.car.chula.ac.th/handle/123456789/36932
URI: http://doi.org/10.14457/CU.the.2010.912
metadata.dc.identifier.DOI: 10.14457/CU.the.2010.912
Type: Thesis
Appears in Collections:Eng - Theses

Files in This Item:
File Description SizeFormat 
sakorn_me.pdf3.11 MBAdobe PDFView/Open


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