Extraction and Analysis of Knowledge for Automatic Software Repair

In the recent years, several automatic software repair approaches have emerged to automatically synthesize bug fixes. One of the main goals of automatic repair approaches is to reduce the cost of bug fixing compared to human fixing activity. Unfortunately, bug fixing could be even hard and expensive for automatic program repair approaches. For example, to repair a given bug, a repair technique could spend long time to find a fix in a large repair search space, i.e., all possible solutions for the fix.

In this presentation, we concentrate on the study of repair search spaces. Our main motivation is to decrease the time to find a fix in the space and, by consequence, to find solutions not previously found. We present repair approach strategies to optimize the search of solutions in the repair search space. Those strategies consume information extracted from repairs done by developers. Then, we focus on the evaluation of automatic repair approaches. We present methodologies and evaluation procedures to have meaningful repair approach evaluations.

Matías Martínez received the BA and MS degrees in computer science from UNICEN University in Argentina and the PhD from the University of Lille in France. His current research interests include software evolution analysis, automatic software repair, software testing and search-based software engineering.