English

Program Repair

Software Engineering 2022-11-24 v1

Abstract

Automated program repair is an emerging technology which consists of a suite of techniques to automatically fix bugs or vulnerabilities in programs. In this paper, we present a comprehensive survey of the state of the art in program repair. We first study the different suite of techniques used including search based repair, constraint based repair and learning based repair. We then discuss one of the main challenges in program repair namely patch overfitting, by distilling a class of techniques which can alleviate patch overfitting. We then discuss classes of program repair tools, applications of program repair as well as uses of program repair in industry. We conclude the survey with a forward looking outlook on future usages of program repair, as well as research opportunities arising from work on code from large language models.

Keywords

Cite

@article{arxiv.2211.12787,
  title  = {Program Repair},
  author = {Xiang Gao and Yannic Noller and Abhik Roychoudhury},
  journal= {arXiv preprint arXiv:2211.12787},
  year   = {2022}
}

Comments

arXiv admin note: text overlap with arXiv:2012.06824 by other authors