* ICSE 2018 *
Sun 27 May - Sun 3 June 2018 Gothenburg, Sweden
Wed 30 May 2018 15:00 - 15:20 at H1 room - Software Repair II Chair(s): Alessandro Orso

The primary goal of Automated Program Repair (APR) is to automatically fix buggy software, to reduce the manual bug-fix burden that presently rests on human developers. Existing APR techniques can be generally divided into two families: semantics- vs. heuristics-based. Semantics-based APR uses symbolic execution and test suites to extract semantic constraints, and uses program synthesis to synthesize repairs that satisfy the extracted constraints. Heuristic-based APR generates large populations of repair candidates via source manipulation, and searches for the best among them. Both families largely rely on a primary assumption that a program is correctly patched if the generated patch leads the program to pass all provided test cases. Patch correctness is thus an especially pressing concern. A repair technique may generate overfitting patches, which lead a program to pass all existing test cases, but fails to generalize beyond them. In this work, we revisit the overfitting problem with a focus on semantics-based APR techniques, complementing previous studies of the overfitting problem in heuristics-based APR. We perform our study using IntroClass and Codeflaws benchmarks, two datasets well-suited for assessing repair quality, to systematically characterize and understand the nature of overfitting in semantics-based APR. We find that similar to heuristics-based APR, overfitting also occurs in semantics-based APR in various different ways.

Wed 30 May

14:00 - 15:30: Technical Papers - Software Repair II at H1 room
Chair(s): Alessandro Orso
icse-2018-Technical-Papers152768160000014:00 - 14:20
File Attached
icse-2018-Technical-Papers152768280000014:20 - 14:40
icse-2018-Technical-Papers152768400000014:40 - 15:00
Pre-print File Attached
icse-2018-Journal-first-papers152768520000015:00 - 15:20
icse-2018-Technical-Papers152768640000015:20 - 15:30