Automated Program Repair

Speaker:  Abhik Roychoudhury – Singapore, Singapore
Topic(s):  Security and Privacy

Abstract

Software debugging is extremely time consuming, and hence techniques to aid automated program repair are of value. Moreover, even after software errors are identified, fixing the errors are non-trivial. 

In this talk, I will discuss the potential methods for automatically fixing errors. We show that instead of depending on search algorithms (such as genetic programming), one can employ a judicious mix of symbolic analysis and constraint solving to achieve automated program repair. If the correctness criteria for the given program is described by a set of test cases, we will show that symbolic reasoning methods can help uncover a glimpse of the intended program behavior. On the other hand, while repairing security breaches, the intended program behavior is often given by a high-level semi-formal specification. In those cases, in the absence of a test-suite, symbolic reasoning can be used to aid a hand-in-hand combination of test generation and repair.

I will first discuss one concrete symbolic reasoning based repair technique called SEMFIX.  This approach is based on repairing a program with a given test-suite. Subsequently I will sketch how symbolic execution based repair can proceed even if no test suite is available. Time permitting, I could present some specific issues in repair of embedded software, and discuss what roles search-based repair and symbolic repair could play for embedded software.

About this Lecture

Number of Slides:  45
Duration:  60 minutes
Languages Available:  English
Last Updated: 

Request this Lecture

To request this particular lecture, please complete this online form.

Request a Tour

To request a tour with this speaker, please complete this online form.

All requests will be sent to ACM headquarters for review.