Automatically finding patches using genetic programming
Automatic program repair has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locating and repairing bugs in software. The approach works on off-the-shelf legacy applications and does not require formal specif...
Gespeichert in:
| Veröffentlicht in: | 2009 IEEE 31st International Conference on Software Engineering S. 364 - 374 |
|---|---|
| Hauptverfasser: | , , , |
| Format: | Tagungsbericht |
| Sprache: | Englisch |
| Veröffentlicht: |
Washington, DC, USA
IEEE Computer Society
16.05.2009
IEEE |
| Schriftenreihe: | ACM Conferences |
| Schlagworte: | |
| ISBN: | 9781424434534, 142443453X |
| ISSN: | 0270-5257 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | Automatic program repair has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locating and repairing bugs in software. The approach works on off-the-shelf legacy applications and does not require formal specifications, program annotations or special coding practices. Once a program fault is discovered, an extended form of genetic programming is used to evolve program variants until one is found that both retains required functionality and also avoids the defect in question. Standard test cases are used to exercise the fault and to encode program requirements. After a successful repair has been discovered, it is minimized using structural differencing algorithms and delta debugging. We describe the proposed method and report experimental results demonstrating that it can successfully repair ten different C programs totaling 63,000 lines in under 200 seconds, on average. |
|---|---|
| AbstractList | Automatic program repair has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locating and repairing bugs in software. The approach works on off-the-shelf legacy applications and does not require formal specifications, program annotations or special coding practices. Once a program fault is discovered, an extended form of genetic programming is used to evolve program variants until one is found that both retains required functionality and also avoids the defect in question. Standard test cases are used to exercise the fault and to encode program requirements. After a successful repair has been discovered, it is minimized using structural differencing algorithms and delta debugging. We describe the proposed method and report experimental results demonstrating that it can successfully repair ten different C programs totaling 63,000 lines in under 200 seconds, on average. |
| Author | Weimer, Westley Nguyen, ThanhVu Forrest, Stephanie Le Goues, Claire |
| Author_xml | – sequence: 1 givenname: Westley surname: Weimer fullname: Weimer, Westley organization: University of Virginia, USA – sequence: 2 givenname: ThanhVu surname: Nguyen fullname: Nguyen, ThanhVu organization: University of New Mexico, USA – sequence: 3 givenname: Claire surname: Le Goues fullname: Le Goues, Claire organization: University of Virginia, USA – sequence: 4 givenname: Stephanie surname: Forrest fullname: Forrest, Stephanie organization: University of New Mexico, USA |
| BookMark | eNqNUE1Pg0AQ3cSaWCs_wHjhbALOsrsMe2xI1SZNPKjnzcIOiPIVoIf-eyGtd-cymXlvXt68W7Zqu5YYu-cQcg76aZ--78IIQIcKEJSIr5inMeEyklJIJeSKrSFCCFSk8IZ54_gNc80IT_Sa4fY4dY2dqtzW9ckvqtZVben3dsq_aPSP4zKV1NLM8PuhKwfbNPPujl0Xth7Ju_QN-3zefaSvweHtZZ9uD4GNFJ8CR5hbclrHQDFw7SjmFnNheSaJnBRFJlQSC0SUMSjrIocSMywytzgsxIY9nHUrIjL9UDV2OJnLqzMKZ9Tmjcm67mc0HMySi1lyMUsuf2STDRUtgo__PhG_fWZkAA |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IH CBEJK RIE RIO |
| DOI | 10.1109/ICSE.2009.5070536 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP) 1998-present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EndPage | 374 |
| ExternalDocumentID | 5070536 |
| Genre | orig-research |
| GroupedDBID | 6IE 6IF 6IG 6IH 6IK 6IL 6IM 6IN AAJGR AARBI ACM ADPZR ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI IERZE OCL RIE RIL RIO -~X .4S .DC 123 23M 29O 5VS 8US AAWTH ABLEC ADZIZ AFFNX ARCSS AVWKF CHZPO EDO FEDTE I-F I07 IEGSK IJVOP IPLJI M43 RNS XOL |
| ID | FETCH-LOGICAL-a251t-de7caed9960e6019de61a7c3a1b4eed43fb358637774605ad2d747b7fbd4531f3 |
| IEDL.DBID | RIE |
| ISBN | 9781424434534 142443453X |
| ISICitedReferencesCount | 445 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000271438200034&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0270-5257 |
| IngestDate | Wed Aug 27 02:04:01 EDT 2025 Wed Jan 31 06:38:21 EST 2024 Wed Jan 31 06:42:45 EST 2024 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a251t-de7caed9960e6019de61a7c3a1b4eed43fb358637774605ad2d747b7fbd4531f3 |
| PageCount | 11 |
| ParticipantIDs | ieee_primary_5070536 acm_books_10_1109_ICSE_2009_5070536 acm_books_10_1109_ICSE_2009_5070536_brief |
| PublicationCentury | 2000 |
| PublicationDate | 20090516 2009-May |
| PublicationDateYYYYMMDD | 2009-05-16 2009-05-01 |
| PublicationDate_xml | – month: 05 year: 2009 text: 20090516 day: 16 |
| PublicationDecade | 2000 |
| PublicationPlace | Washington, DC, USA |
| PublicationPlace_xml | – name: Washington, DC, USA |
| PublicationSeriesTitle | ACM Conferences |
| PublicationTitle | 2009 IEEE 31st International Conference on Software Engineering |
| PublicationTitleAbbrev | ICSE |
| PublicationYear | 2009 |
| Publisher | IEEE Computer Society IEEE |
| Publisher_xml | – name: IEEE Computer Society – name: IEEE |
| SSID | ssj0000453189 ssj0006499 |
| Score | 2.3081963 |
| Snippet | Automatic program repair has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated... |
| SourceID | ieee acm |
| SourceType | Publisher |
| StartPage | 364 |
| SubjectTerms | Biological information theory Biology computing Computer bugs Computing methodologies -- Artificial intelligence -- Search methodologies -- Heuristic function construction Costs Debugging Formal specifications Genetic mutations Genetic programming Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging Software and its engineering -- Software notations and tools Software maintenance Testing |
| Title | Automatically finding patches using genetic programming |
| URI | https://ieeexplore.ieee.org/document/5070536 |
| WOSCitedRecordID | wos000271438200034&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LS8NAEB5a8eCpaivWFwt6EYxNmm02e5TSopdSUKG3sNlHKbRpaVPBf-_O5iGCB70lm4Uss5PMzM583wDcURlSSlOEfWjuUcGZxyPMwveF1hFLZRQXzSbYZBLPZnzagIcaC6O1dsVn-hEvXS5freUej8p61nexOhM1ockYK7Ba9XmKdU2sevL6LxxR1zvSRl2-h4yfFagrtPNmFddTeU_LdGfg897L8HVU0FiWb0OzJVc_mq842zNu_W_Vx9D5BvGRaW2eTqChs1NoVV0cSPlRt4E97fO1I24Vy-UncUnsbE42AvdzR7Awfk6smiHakZTlXCs71oH38eht-OyV7RQ8YZ2Y3FOaSaEV0rFoG4ZxpaNAMBmKIKV2KTQ0aTiIo9DKFpOlQvWVjTVSZlKFsjXhGRxk60yfAxmo2Ax8qXhgbISlaayEH5pYID29UZHswq2VWYJxwi5xYYbPE5Qsdr3kSSmRLtz_YVaSbhfadKGNkk02BQdH9fDi9-FLOCqyPliYeAUH-Xavr-FQfuSL3fbGKc4XgWi3ew |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3dS8MwED_mFPRp6ibOz4K-CNa1a9o0jzI2Npxj4IS9lTRJx2DrxtYJ_vfm-iWCD_rWpoGGy7V3v9zd7wDuiXAIISGWfShmEs6oyTyMwre5Uh4NhednzSboaORPp2xcgceyFkYplSafqSe8TGP5ciV2eFTW0r6L1hlvD_ZdQtp2Vq1Vnqho50QrKCv_wx5Ju0dq3GWZyPlZlHU5et60YHvK70ke8LQt1hp03roZkWX-PjRcYvmj_UpqfXq1_637GBrfZXzGuDRQJ1BR8SnUij4ORv5Z14E-75JVSt3KF4tPIw1jxzNjzXFHtwamxs8MrWhY72jkCV1LPdaA91530umbeUMFk2s3JjGlooIriYQsSgMxJpVncyocbodEL4U4Uei4vudQ7RNqmMNlW2q0EdIolCjbyDmDaryK1TkYrvQj1xKS2ZHGWIr4kltO5HMkqI-kJ5pwp2UWIFLYBinQsFiAksW-lyzIJdKEhz_MCsLNXEVNqKNkg3XGwlE8vPh9-BYO-5PXYTAcjF4u4SiLAWGa4hVUk81OXcOB-Ejm281NqkRfQ4O6wg |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2009+IEEE+31st+International+Conference+on+Software+Engineering&rft.atitle=Automatically+finding+patches+using+genetic+programming&rft.au=Weimer%2C+W.&rft.au=Nguyen%2C+T.V.&rft.au=Le+Goues%2C+C.&rft.au=Forrest%2C+S.&rft.date=2009-05-01&rft.pub=IEEE&rft.isbn=9781424434534&rft.issn=0270-5257&rft.spage=364&rft.epage=374&rft_id=info:doi/10.1109%2FICSE.2009.5070536&rft.externalDocID=5070536 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0270-5257&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0270-5257&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0270-5257&client=summon |

