Static analysis tools have demonstrated effectiveness at finding bugs in real world code. Such tools are increasingly widely adopted to improve software quality in practice. Automated Program Repair (APR) has the potential to further cut down on the cost of improving software quality. However, there is a disconnect between these effective bug-finding tools and APR. Recent advances in APR rely on test cases, making them inapplicable to newly discovered bugs or bugs difficult to test for deterministically (like memory leaks). Additionally, the quality of patches generated to satisfy a test suite is a key challenge. We address these challenges by adapting advances in practical static analysis and verification techniques to enable a new technique that finds and then accurately fixes real bugs without test cases. We present a new automated program repair technique using Separation Logic. At a high-level, our technique reasons over semantic effects of existing program fragments to fix faults related to general pointer safety properties: resource leaks, memory leaks, and null dereferences. The procedure automatically translates identified fragments into source-level patches, and verifies patch correctness with respect to reported faults. In this work we conduct the largest study of automatically fixing undiscovered bugs in realworld code to date. We demonstrate our approach by correctly fixing 55 bugs, including 11 previously undiscovered bugs, in 11 real-world projects.
Slides (talk.pdf) | 2.41MiB |
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 |