Design Defects Detection and Correction by Example

Detecting and fixing defects make programs easier to understand by developers. We propose an automated approach for the detection and correction of various types of design defects in source code. Our approach allows to automatically find detection rules, thus relieving the designer from doing so man...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Kessentini, M., Kessentini, W., Sahraoui, H., Boukadoum, M., Ouni, A.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 90
container_issue
container_start_page 81
container_title
container_volume
creator Kessentini, M.
Kessentini, W.
Sahraoui, H.
Boukadoum, M.
Ouni, A.
description Detecting and fixing defects make programs easier to understand by developers. We propose an automated approach for the detection and correction of various types of design defects in source code. Our approach allows to automatically find detection rules, thus relieving the designer from doing so manually. Rules are defined as combinations of metrics/thresholds that better conform to known instances of design defects (defect examples). The correction solutions, a combination of refactoring operations, should minimize, as much as possible, the number of defects detected using the detection rules. In our setting, we use genetic programming for rule extraction. For the correction step, we use genetic algorithm. We evaluate our approach by finding and fixing potential defects in four open-source systems. For all these systems, we found, in average, more than 80% of known defects, a better result when compared to a state-of-the-art approach, where the detection rules are manually or semi-automatically specified. The proposed corrections fix, in average, more than 78%of detected defects.
doi_str_mv 10.1109/ICPC.2011.22
format Conference Proceeding
fullrecord <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_5970166</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>5970166</ieee_id><sourcerecordid>5970166</sourcerecordid><originalsourceid>FETCH-LOGICAL-i175t-80a11aadc0f96fb1eec49d436cdba16fba38ba240fc3257b1d3030cf6f9c496e3</originalsourceid><addsrcrecordid>eNotjLtOw0AURBcBElFwR0fjH7C5d3e9jxI5IUSKBEVSR_u4i4wSJ7JdkL9nBZnmaEYzw9gTQo0I9mXdfrY1B8Sa8xtWWG1AK9tIYY2-_fOokBspwOg7NssTXhkU5oEV4_gNWSrX0c4YX9DYffXlghKFacycMrtTX7o-lu1pGK7WX8rljzueD_TI7pM7jFRcOWe7t-W2fa82H6t1-7qpOtTNVBlwiM7FAMmq5JEoSBulUCF6hzlxwnjHJaQgeKM9RgECQlLJ5qIiMWfP_78dEe3PQ3d0w2XfWA2olPgFpz1HMQ</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Design Defects Detection and Correction by Example</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Kessentini, M. ; Kessentini, W. ; Sahraoui, H. ; Boukadoum, M. ; Ouni, A.</creator><creatorcontrib>Kessentini, M. ; Kessentini, W. ; Sahraoui, H. ; Boukadoum, M. ; Ouni, A.</creatorcontrib><description>Detecting and fixing defects make programs easier to understand by developers. We propose an automated approach for the detection and correction of various types of design defects in source code. Our approach allows to automatically find detection rules, thus relieving the designer from doing so manually. Rules are defined as combinations of metrics/thresholds that better conform to known instances of design defects (defect examples). The correction solutions, a combination of refactoring operations, should minimize, as much as possible, the number of defects detected using the detection rules. In our setting, we use genetic programming for rule extraction. For the correction step, we use genetic algorithm. We evaluate our approach by finding and fixing potential defects in four open-source systems. For all these systems, we found, in average, more than 80% of known defects, a better result when compared to a state-of-the-art approach, where the detection rules are manually or semi-automatically specified. The proposed corrections fix, in average, more than 78%of detected defects.</description><identifier>ISSN: 1092-8138</identifier><identifier>ISBN: 9781612843087</identifier><identifier>ISBN: 1612843085</identifier><identifier>EISBN: 9780769543987</identifier><identifier>EISBN: 0769543987</identifier><identifier>DOI: 10.1109/ICPC.2011.22</identifier><language>eng</language><publisher>IEEE</publisher><subject>by example ; Complexity theory ; Computer bugs ; design defects ; Genetic algorithms ; Genetic programming ; Measurement ; Optimization ; search-based software engineering ; Software ; software maintenance</subject><ispartof>2011 IEEE 19th International Conference on Program Comprehension, 2011, p.81-90</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/5970166$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2058,27925,54920</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/5970166$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Kessentini, M.</creatorcontrib><creatorcontrib>Kessentini, W.</creatorcontrib><creatorcontrib>Sahraoui, H.</creatorcontrib><creatorcontrib>Boukadoum, M.</creatorcontrib><creatorcontrib>Ouni, A.</creatorcontrib><title>Design Defects Detection and Correction by Example</title><title>2011 IEEE 19th International Conference on Program Comprehension</title><addtitle>icpc</addtitle><description>Detecting and fixing defects make programs easier to understand by developers. We propose an automated approach for the detection and correction of various types of design defects in source code. Our approach allows to automatically find detection rules, thus relieving the designer from doing so manually. Rules are defined as combinations of metrics/thresholds that better conform to known instances of design defects (defect examples). The correction solutions, a combination of refactoring operations, should minimize, as much as possible, the number of defects detected using the detection rules. In our setting, we use genetic programming for rule extraction. For the correction step, we use genetic algorithm. We evaluate our approach by finding and fixing potential defects in four open-source systems. For all these systems, we found, in average, more than 80% of known defects, a better result when compared to a state-of-the-art approach, where the detection rules are manually or semi-automatically specified. The proposed corrections fix, in average, more than 78%of detected defects.</description><subject>by example</subject><subject>Complexity theory</subject><subject>Computer bugs</subject><subject>design defects</subject><subject>Genetic algorithms</subject><subject>Genetic programming</subject><subject>Measurement</subject><subject>Optimization</subject><subject>search-based software engineering</subject><subject>Software</subject><subject>software maintenance</subject><issn>1092-8138</issn><isbn>9781612843087</isbn><isbn>1612843085</isbn><isbn>9780769543987</isbn><isbn>0769543987</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2011</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNotjLtOw0AURBcBElFwR0fjH7C5d3e9jxI5IUSKBEVSR_u4i4wSJ7JdkL9nBZnmaEYzw9gTQo0I9mXdfrY1B8Sa8xtWWG1AK9tIYY2-_fOokBspwOg7NssTXhkU5oEV4_gNWSrX0c4YX9DYffXlghKFacycMrtTX7o-lu1pGK7WX8rljzueD_TI7pM7jFRcOWe7t-W2fa82H6t1-7qpOtTNVBlwiM7FAMmq5JEoSBulUCF6hzlxwnjHJaQgeKM9RgECQlLJ5qIiMWfP_78dEe3PQ3d0w2XfWA2olPgFpz1HMQ</recordid><startdate>201106</startdate><enddate>201106</enddate><creator>Kessentini, M.</creator><creator>Kessentini, W.</creator><creator>Sahraoui, H.</creator><creator>Boukadoum, M.</creator><creator>Ouni, A.</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>201106</creationdate><title>Design Defects Detection and Correction by Example</title><author>Kessentini, M. ; Kessentini, W. ; Sahraoui, H. ; Boukadoum, M. ; Ouni, A.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i175t-80a11aadc0f96fb1eec49d436cdba16fba38ba240fc3257b1d3030cf6f9c496e3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2011</creationdate><topic>by example</topic><topic>Complexity theory</topic><topic>Computer bugs</topic><topic>design defects</topic><topic>Genetic algorithms</topic><topic>Genetic programming</topic><topic>Measurement</topic><topic>Optimization</topic><topic>search-based software engineering</topic><topic>Software</topic><topic>software maintenance</topic><toplevel>online_resources</toplevel><creatorcontrib>Kessentini, M.</creatorcontrib><creatorcontrib>Kessentini, W.</creatorcontrib><creatorcontrib>Sahraoui, H.</creatorcontrib><creatorcontrib>Boukadoum, M.</creatorcontrib><creatorcontrib>Ouni, A.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Kessentini, M.</au><au>Kessentini, W.</au><au>Sahraoui, H.</au><au>Boukadoum, M.</au><au>Ouni, A.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Design Defects Detection and Correction by Example</atitle><btitle>2011 IEEE 19th International Conference on Program Comprehension</btitle><stitle>icpc</stitle><date>2011-06</date><risdate>2011</risdate><spage>81</spage><epage>90</epage><pages>81-90</pages><issn>1092-8138</issn><isbn>9781612843087</isbn><isbn>1612843085</isbn><eisbn>9780769543987</eisbn><eisbn>0769543987</eisbn><abstract>Detecting and fixing defects make programs easier to understand by developers. We propose an automated approach for the detection and correction of various types of design defects in source code. Our approach allows to automatically find detection rules, thus relieving the designer from doing so manually. Rules are defined as combinations of metrics/thresholds that better conform to known instances of design defects (defect examples). The correction solutions, a combination of refactoring operations, should minimize, as much as possible, the number of defects detected using the detection rules. In our setting, we use genetic programming for rule extraction. For the correction step, we use genetic algorithm. We evaluate our approach by finding and fixing potential defects in four open-source systems. For all these systems, we found, in average, more than 80% of known defects, a better result when compared to a state-of-the-art approach, where the detection rules are manually or semi-automatically specified. The proposed corrections fix, in average, more than 78%of detected defects.</abstract><pub>IEEE</pub><doi>10.1109/ICPC.2011.22</doi><tpages>10</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1092-8138
ispartof 2011 IEEE 19th International Conference on Program Comprehension, 2011, p.81-90
issn 1092-8138
language eng
recordid cdi_ieee_primary_5970166
source IEEE Electronic Library (IEL) Conference Proceedings
subjects by example
Complexity theory
Computer bugs
design defects
Genetic algorithms
Genetic programming
Measurement
Optimization
search-based software engineering
Software
software maintenance
title Design Defects Detection and Correction by Example
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-20T02%3A32%3A02IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Design%20Defects%20Detection%20and%20Correction%20by%20Example&rft.btitle=2011%20IEEE%2019th%20International%20Conference%20on%20Program%20Comprehension&rft.au=Kessentini,%20M.&rft.date=2011-06&rft.spage=81&rft.epage=90&rft.pages=81-90&rft.issn=1092-8138&rft.isbn=9781612843087&rft.isbn_list=1612843085&rft_id=info:doi/10.1109/ICPC.2011.22&rft_dat=%3Cieee_6IE%3E5970166%3C/ieee_6IE%3E%3Curl%3E%3C/url%3E&rft.eisbn=9780769543987&rft.eisbn_list=0769543987&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=5970166&rfr_iscdi=true