kirancodes.me
To Proof Maintenance & Beyond!

Overfitting in semantics-based automated program repair

Xuan-Bach Dinh Le, Ferdian Thung, David Lo, Claire Le Goues

Abstract

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.

BibTeX
@inproceedings{Le-al:ICSE18,
  author    = {Xuan{-}Bach Dinh Le and
               Ferdian Thung and
               David Lo and
               Claire Le Goues},
  title     = {Overfitting in semantics-based automated program repair},
  booktitle = {ICSE},
  pages     = {163},
  publisher = {{ACM}},
  year      = {2018},
}

Related papers