Evaluating the impact of a larger search space in Automatic Program Repair
Automatic Program Repair (APR) techniques have been used to automatically fix bugs, helping developers save time in this process. These techniques first identify where the error is located in the code, then iteratively apply patches to those locations, verifying if each patch succeeded in fixing the existing bug.
This work focus on APR techniques that search for possible fixes, possibly based on information in the source code, and validate each fix based on test-suite, thus being a time-consuming search.
In order to execute in reasonable time, existing techniques often trade-off reducing the search-space to be more efficient in finding the solution for some well-known classes of bugs. However, at the same time, other classes of bugs are being excluded from ever being fixed.
This work focus on evaluating the impact of this trade-off between the size of search-space and the time taken to find a valid patch.
To this end, we have extended a state-of-the-art tool for Java automated repair, Cardumen, with a larger search space. Currently, Cardumen can replace target expressions with other expressions present elsewhere in the program. Our extension, Figra, also supports the replacement to be new code, not already in the code.
Figra detects four unique bugs that existing tools did not find in the same amount of time, and for the bugs that Cardumen was also able to solve, has identical performance in 5 out of 6 bugs.
Thu 19 MayDisplayed time zone: Eastern Time (US & Canada) change
09:30 - 09:45
|Evaluating the impact of a larger search space in Automatic Program Repair|