Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis
Since debugging is a time-consuming activity, automated program repair tools such as GenProg have garnered interest. A recent study revealed that the majority of GenProg repairs avoid bugs simply by deleting functionality. We found that SPR, a state-of-the-art repair tool proposed in 2015, still del...
Saved in:
Published in | Proceedings / International Conference on Software Engineering pp. 691 - 701 |
---|---|
Main Authors | , , |
Format | Conference Proceeding |
Language | English |
Published |
ACM
01.05.2016
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Since debugging is a time-consuming activity, automated program repair tools such as GenProg have garnered interest. A recent study revealed that the majority of GenProg repairs avoid bugs simply by deleting functionality. We found that SPR, a state-of-the-art repair tool proposed in 2015, still deletes functionality in their many "plausible" repairs. Unlike generate-and-validate systems such as GenProg and SPR, semantic analysis based repair techniques synthesize a repair based on semantic information of the program. While such semantics-based repair methods show promise in terms of quality of generated repairs, their scalability has been a concern so far. In this paper, we present Angelix, a novel semantics-based repair method that scales up to programs of similar size as are handled by search-based repair tools such as GenProg and SPR. This shows that Angelix is more scalable than previously proposed semantics based repair methods such as SemFix and DirectFix. Furthermore, our repair method can repair multiple buggy locations that are dependent on each other. Such repairs are hard to achieve using SPR and GenProg. In our experiments, Angelix generated repairs from large-scale real-world software such as wireshark and php, and these generated repairs include multi-location repairs. We also report our experience in automatically repairing the well-known Heartbleed vulnerability. |
---|---|
AbstractList | Since debugging is a time-consuming activity, automated program repair tools such as GenProg have garnered interest. A recent study revealed that the majority of GenProg repairs avoid bugs simply by deleting functionality. We found that SPR, a state-of-the-art repair tool proposed in 2015, still deletes functionality in their many "plausible" repairs. Unlike generate-and-validate systems such as GenProg and SPR, semantic analysis based repair techniques synthesize a repair based on semantic information of the program. While such semantics-based repair methods show promise in terms of quality of generated repairs, their scalability has been a concern so far. In this paper, we present Angelix, a novel semantics-based repair method that scales up to programs of similar size as are handled by search-based repair tools such as GenProg and SPR. This shows that Angelix is more scalable than previously proposed semantics based repair methods such as SemFix and DirectFix. Furthermore, our repair method can repair multiple buggy locations that are dependent on each other. Such repairs are hard to achieve using SPR and GenProg. In our experiments, Angelix generated repairs from large-scale real-world software such as wireshark and php, and these generated repairs include multi-location repairs. We also report our experience in automatically repairing the well-known Heartbleed vulnerability. |
Author | Jooyong Yi Mechtaev, Sergey Roychoudhury, Abhik |
Author_xml | – sequence: 1 givenname: Sergey surname: Mechtaev fullname: Mechtaev, Sergey email: mechtaev@comp.nus.edu.sg organization: Sch. of Comput., Nat. Univ. of Singapore, Singapore, Singapore – sequence: 2 surname: Jooyong Yi fullname: Jooyong Yi email: jooyong@comp.nus.edu.sg organization: Sch. of Comput., Nat. Univ. of Singapore, Singapore, Singapore – sequence: 3 givenname: Abhik surname: Roychoudhury fullname: Roychoudhury, Abhik email: abhik@comp.nus.edu.sg organization: Sch. of Comput., Nat. Univ. of Singapore, Singapore, Singapore |
BookMark | eNotjM1KAzEYRaMo2NauXbjJC0z98v_F3VD8KVQsVNclEzNtJJORmVHs2zuiq8M5XO6UnOU2B0KuGCwYk-qGI0qDbPFLBHNC5nZUqUAIC8BOyYQphQXjXF2Qad-_A4CW1k7Iqsz7kOL3Ld16l1yVAn36TENMMQe66dp95xq6cYM_0O0xD4fQx55-RTdaU7Upelpml45jvSTntUt9mP9zRl7v716Wj8X6-WG1LNeF49IMha2ROS20qbVW1ktQ4s1YVFwLQK-VkZXTAaFCFhSiDlxW4MZuavCcMzEj13-_MYSw--hi47rjzoxTK5X4AaGETFU |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
DBID | 6IE 6IH CBEJK RIE RIO |
DOI | 10.1145/2884781.2884807 |
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://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISBN | 9781450339001 145033900X |
EISSN | 1558-1225 |
EndPage | 701 |
ExternalDocumentID | 7886945 |
Genre | orig-research |
GroupedDBID | -~X .4S .DC 123 23M 29O 5VS 6IE 6IF 6IH 6IK 6IL 6IM 6IN 8US AAJGR AAWTH ABLEC ADZIZ AFFNX ALMA_UNASSIGNED_HOLDINGS APO ARCSS AVWKF BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO EDO FEDTE I-F I07 IEGSK IJVOP IPLJI M43 OCL RIE RIL RIO RNS XOL |
ID | FETCH-LOGICAL-a247t-9f81a6367f6659c4053d798526308c6574ba6e80b81e5886e24b0a6577f0c2213 |
IEDL.DBID | RIE |
IngestDate | Wed Aug 27 02:07:20 EDT 2025 |
IsPeerReviewed | false |
IsScholarly | true |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-a247t-9f81a6367f6659c4053d798526308c6574ba6e80b81e5886e24b0a6577f0c2213 |
PageCount | 11 |
ParticipantIDs | ieee_primary_7886945 |
PublicationCentury | 2000 |
PublicationDate | 2016-May |
PublicationDateYYYYMMDD | 2016-05-01 |
PublicationDate_xml | – month: 05 year: 2016 text: 2016-May |
PublicationDecade | 2010 |
PublicationTitle | Proceedings / International Conference on Software Engineering |
PublicationTitleAbbrev | ICSE |
PublicationYear | 2016 |
Publisher | ACM |
Publisher_xml | – name: ACM |
SSID | ssj0006499 |
Score | 2.5311174 |
Snippet | Since debugging is a time-consuming activity, automated program repair tools such as GenProg have garnered interest. A recent study revealed that the majority... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 691 |
SubjectTerms | Automated program repair Computer bugs Maintenance engineering Scalability Semantic analysis Semantics Software Software engineering Testing |
Title | Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis |
URI | https://ieeexplore.ieee.org/document/7886945 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwELXaTkwFWsS3PDCSNHH8yYYQFSAVVYJK3So7uYgKaBFNEfDrOSdpEYiBKc4NTuLYdy_OvXeEnGgpmeWpCozfvsdJAbjmlAgiyBW6wsRx4bnDg1t5NeI3YzFukNM1FwYAyuQzCH2z_JefzdOl3yrr4eeaNFw0SRNbFVdr7XUlQvdauifmose09iTK0B919LN2Shk6-m0yWF20yhh5DJeFC9PPX3qM_72rTdL9JunR4Tr8bJEGzLZJe1WlgdaLtkOuz33e6vT9DE32yTOlaMm69fjSd-DTs-gQPfIDvfuYIR5cTBf0bWrx7Nl51WC6Ei7pklH_8v7iKqgLKASWcVUEJtexlYlUuZTCpIjNkkwZLZhMIp1KobizEnTkdAwCnwIYd5FFu8qjlLE42SGt2XwGu4RazsDlMnY8kxwgMraUzjMmiwUoIfZIx4_M5KXSyJjUg7L_t_mAbCDwkFXi4CFpFa9LOMLgXrjj8q1-AdxlowI |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PT8IwFG4QD3pCBeNve_Doxtb1pzdjJKhASISEG2nHWyTqMDKM-tfbbgOj8eBp2ztsa7e-97V93_cQOpOcE01j4Sm3fG9_CrBjTjAvgERYVxgZyhx3uNvj7SG9HbFRBZ2vuDAAkCefge9O8738ySxeuKWypp2ucUXZGlq3cZ-Rgq218rvcgvdSvCekrEmkdDRK3x1l8LN6Sh48WjXUXT62yBl59BeZ8ePPX4qM_32vLdT4punh_ioAbaMKpDuotqzTgMthW0c3ly5zdfp-YU36yXGlcM67dQjT3cAlaOG-9ckP-P4jtYhwPp3jt6m2V8_G6QbjpXRJAw1b14OrtleWUPA0oSLzVCJDzSMuEs6Zii06iyZCSUZ4FMiYM0GN5iADI0NgthVAqAm0tYskiAkJo11UTWcp7CGsKQGT8NDQCacAgdK5eJ5Sk5CBYGwf1V3PjF8KlYxx2SkHf5tP0UZ70O2MOze9u0O0aWEIL9IIj1A1e13AsQ31mTnJv_AXkQ2mTA |
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=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Angelix%3A+Scalable+Multiline+Program+Patch+Synthesis+via+Symbolic+Analysis&rft.au=Mechtaev%2C+Sergey&rft.au=Jooyong+Yi&rft.au=Roychoudhury%2C+Abhik&rft.date=2016-05-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=691&rft.epage=701&rft_id=info:doi/10.1145%2F2884781.2884807&rft.externalDocID=7886945 |