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...

Full description

Saved in:
Bibliographic Details
Published inProceedings / International Conference on Software Engineering pp. 691 - 701
Main Authors Mechtaev, Sergey, Jooyong Yi, Roychoudhury, Abhik
Format Conference Proceeding
LanguageEnglish
Published ACM 01.05.2016
Subjects
Online AccessGet 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