UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis

Mechtaev, S; Yi, J; Roychoudhury, A; (2016) Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis. In: Dillon, L and Visser, W and Williams, L, (eds.) ICSE '16: Proceedings of the 38th International Conference on Software Engineering. (pp. pp. 691-701). Association for Computing Machinery (ACM): New York, NY, USA. Green open access

[thumbnail of icse16.pdf]
Preview
Text
icse16.pdf - Accepted Version

Download (440kB) | Preview

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.

Type: Proceedings paper
Title: Angelix: Scalable Multiline Program Patch Synthesis via Symbolic Analysis
Event: 38th International Conference on Software Engineering (ICSE '16)
Location: Austin, TX
Dates: 14 May 2016 - 22 May 2016
ISBN-13: 978-1-4503-3900-1
Open access status: An open access version is available from UCL Discovery
DOI: 10.1145/2884781.2884807
Publisher version: https://doi.org/10.1145/2884781.2884807
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: Software and its engineering, Software creation and management, Software verification and validation, Software defect analysis, Software testing and debugging
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10088929
Downloads since deposit
395Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item