Semantic Program Repair Using a Reference Implementation
Automated program repair has been studied via the use of techniques involving search, semantic analysis and artificial intelligence. Most of these techniques rely on tests as the correctness criteria, which causes the test overfitting problem. Although various approaches such as learning from code corpus have been proposed to address this problem, they are unable to guarantee that the generated patches generalize beyond the given tests. This work studies automated repair of errors using a reference implementation. The reference implementation is symbolically analyzed to automatically infer a specification of the intended behavior. This specification is then used to synthesize a patch that enforces conditional equivalence of the patched and the reference programs. The use of the reference implementation as an implicit correctness criterion alleviates overfitting in test-based repair. Besides, since we generate patches by semantic analysis, the reference program may have a substantially different implementation from the patched program, which distinguishes our approach from existing techniques for regression repair like Relifix. Our experiments in repairing the embedded Linux Busybox with GNU Coreutils as reference (and vice-versa) revealed that the proposed approach scales to real-world programs and enables the generation of more correct patches.
Paper (ICSE18-SEMGRAFT.pdf) | 772KiB |
Presentation (semgraft-icse18.pdf) | 257KiB |
Wed 30 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
14:00 - 15:30 | Software Repair IITechnical Papers / Journal first papers at H1 room Chair(s): Alessandro Orso Georgia Tech | ||
14:00 20mTalk | Semantic Program Repair Using a Reference Implementation Technical Papers Sergey Mechtaev National University of Singapore, Manh-Dung Nguyen , Yannic Noller Humboldt-Universität zu Berlin, Lars Grunske Humboldt-Universität zu Berlin, Abhik Roychoudhury National University of Singapore File Attached | ||
14:20 20mTalk | Automated Repair of Mobile Friendly Problems in Web Pages Technical Papers Sonal Mahajan University of Southern California, USA, Negarsadat Abolhassani , Phil McMinn University of Sheffield, William G.J. Halfond University of Southern California | ||
14:40 20mTalk | Static Automated Program Repair for Heap Properties Technical Papers Pre-print File Attached | ||
15:00 20mTalk | Overfitting in Semantics-based Automated Program Repair Journal first papers Xuan-Bach D. Le Singapore Management University, Singapore, Ferdian Thung , David Lo Singapore Management University, Claire Le Goues Carnegie Mellon University Pre-print | ||
15:20 10mTalk | Q&A in groups Technical Papers |