Repairing Programs with Semantic Code Search

Created by W.Langdon from gp-bibliography.bib Revision:1.4202

  author =       "Yalin Ke and Kathryn T. Stolee and 
                 Claire {Le Goues} and Yuriy Brun",
  title =        "Repairing Programs with Semantic Code Search",
  booktitle =    "30th IEEE/ACM International Conference on Automated
                 Software Engineering (ASE 2015)",
  year =         "2015",
  editor =       "Lars Grunske and Michael Whalen",
  address =      "Lincoln, Nebraska, USA",
  month =        nov # " 9-13",
  keywords =     "genetic algorithms, genetic programming, SBSE",
  URL =          "",
  size =         "12 pages",
  abstract =     "Automated program repair can potentially reduce
                 debugging costs and improve software quality but recent
                 studies have drawn attention to shortcomings in the
                 quality of automatically generated repairs. We propose
                 a new kind of repair that uses the large body of
                 existing open-source code to find potential fixes. The
                 key challenges lie in efficiently finding code
                 semantically similar (but not identical) to defective
                 code and then appropriately integrating that code into
                 a buggy program. We present SearchRepair, a repair
                 technique that addresses these challenges by (1)
                 encoding a large database of human-written code
                 fragments as SMT constraints on input-output behaviour,
                 (2) localising a given defect to likely buggy program
                 fragments and deriving the desired input-output
                 behavior for code to replace those fragments, (3) using
                 state-of-the-art constraint solvers to search the
                 database for fragments that satisfy that desired
                 behaviour and replacing the likely buggy code with
                 these potential patches, and (4) validating that the
                 patches repair the bug against program test suites. We
                 find that SearchRepair repairs 150 (19percent) of 778
                 benchmark C defects written by novice students, 20 of
                 which are not repaired by GenProg, TrpAutoRepair, and
                 AE. We compare the quality of the patches generated by
                 the four techniques by measuring how many independent,
                 not-used-during-repair tests they pass, and find that
                 SearchRepair-repaired programs pass 97.3percent of the
                 tests, on average, whereas GenProg-, TrpAutoRepair-,
                 and AE-repaired programs pass 68.7percent, 72.1percent,
                 and 64.2percent of the tests, respectively. We conclude
                 that SearchRepair produces higher-quality repairs than
                 GenProg, TrpAutoRepair, and AE, and repairs some
                 defects those tools cannot.",
  notes =        "",

Genetic Programming entries for Yalin Ke Kathryn T Stolee Claire Le Goues Yuriy Brun