You are here

Constraint-based automated program repair

Event date: 
Thursday, 26 May, 2016 - 16:00
Sergey Mechtaev

Abstract: Recent advances in program repair techniques have raised the possibility of patching bugs automatically. Existing methods can be divided into two categories: (1) the generate-and-validate approaches that explicitly iterate through a search space and validate candidate fixes against the given test suite, and (2) the approaches that rely on program analysis and formal methods to synthesize patches. Approaches in the first category gained popularity because of their scalability: they were applied to real-world large-scale software such as PHP and Wireshark. Meanwhile, early techniques in the seconds category, although demonstrated better results by generating more patches, were applied only to small programs. In this talk we present a program repair based on symbolic execution and program synthesis that (1) can generate complex high-quality patches and (2) scales to programs of realistic size. Particularly, our prototype implementation Angelix successfully generated repairs for Php, Wireshark and Openssl.

Author: Sergey Mechtaev ( is a PhD candidate at the National University of Singapore doing his research in the group of Prof. Abhik Roychoudhury. Previously, he graduated from Saint Petersburg State University. Sergey is the developer and maintainer of Angelix program repair tool.

Sala consiglio