Current challenges in automatic software repair

Claire Le Goues, Stephanie Forrest, Westley Weimer

Research output: Contribution to journalArticle

84 Citations (Scopus)

Abstract

The abundance of defects in existing software systems is unsustainable. Addressing them is a dominant cost of software maintenance, which in turn dominates the life cycle cost of a system. Recent research has made significant progress on the problem of automatic program repair, using techniques such as evolutionary computation, instrumentation and run-time monitoring, and sound synthesis with respect to a specification. This article serves three purposes. First, we review current work on evolutionary computation approaches, focusing on GenProg, which uses genetic programming to evolve a patch to a particular bug. We summarize algorithmic improvements and recent experimental results. Second, we review related work in the rapidly growing subfield of automatic program repair. Finally, we outline important open research challenges that we believe should guide future research in the area.

Original languageEnglish (US)
Pages (from-to)421-443
Number of pages23
JournalSoftware Quality Journal
Volume21
Issue number3
DOIs
StatePublished - Sep 1 2013
Externally publishedYes

Fingerprint

Evolutionary algorithms
Repair
Computer software maintenance
Genetic programming
Costs
Life cycle
Acoustic waves
Specifications
Defects
Monitoring

Keywords

  • Automatic program repair
  • Evolutionary computation
  • Software engineering

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Cite this

Current challenges in automatic software repair. / Le Goues, Claire; Forrest, Stephanie; Weimer, Westley.

In: Software Quality Journal, Vol. 21, No. 3, 01.09.2013, p. 421-443.

Research output: Contribution to journalArticle

Le Goues, Claire ; Forrest, Stephanie ; Weimer, Westley. / Current challenges in automatic software repair. In: Software Quality Journal. 2013 ; Vol. 21, No. 3. pp. 421-443.
@article{b12fc80812ca4c4ebfc14f97651b62e5,
title = "Current challenges in automatic software repair",
abstract = "The abundance of defects in existing software systems is unsustainable. Addressing them is a dominant cost of software maintenance, which in turn dominates the life cycle cost of a system. Recent research has made significant progress on the problem of automatic program repair, using techniques such as evolutionary computation, instrumentation and run-time monitoring, and sound synthesis with respect to a specification. This article serves three purposes. First, we review current work on evolutionary computation approaches, focusing on GenProg, which uses genetic programming to evolve a patch to a particular bug. We summarize algorithmic improvements and recent experimental results. Second, we review related work in the rapidly growing subfield of automatic program repair. Finally, we outline important open research challenges that we believe should guide future research in the area.",
keywords = "Automatic program repair, Evolutionary computation, Software engineering",
author = "{Le Goues}, Claire and Stephanie Forrest and Westley Weimer",
year = "2013",
month = "9",
day = "1",
doi = "10.1007/s11219-013-9208-0",
language = "English (US)",
volume = "21",
pages = "421--443",
journal = "Software Quality Journal",
issn = "0963-9314",
publisher = "Springer New York",
number = "3",

}

TY - JOUR

T1 - Current challenges in automatic software repair

AU - Le Goues, Claire

AU - Forrest, Stephanie

AU - Weimer, Westley

PY - 2013/9/1

Y1 - 2013/9/1

N2 - The abundance of defects in existing software systems is unsustainable. Addressing them is a dominant cost of software maintenance, which in turn dominates the life cycle cost of a system. Recent research has made significant progress on the problem of automatic program repair, using techniques such as evolutionary computation, instrumentation and run-time monitoring, and sound synthesis with respect to a specification. This article serves three purposes. First, we review current work on evolutionary computation approaches, focusing on GenProg, which uses genetic programming to evolve a patch to a particular bug. We summarize algorithmic improvements and recent experimental results. Second, we review related work in the rapidly growing subfield of automatic program repair. Finally, we outline important open research challenges that we believe should guide future research in the area.

AB - The abundance of defects in existing software systems is unsustainable. Addressing them is a dominant cost of software maintenance, which in turn dominates the life cycle cost of a system. Recent research has made significant progress on the problem of automatic program repair, using techniques such as evolutionary computation, instrumentation and run-time monitoring, and sound synthesis with respect to a specification. This article serves three purposes. First, we review current work on evolutionary computation approaches, focusing on GenProg, which uses genetic programming to evolve a patch to a particular bug. We summarize algorithmic improvements and recent experimental results. Second, we review related work in the rapidly growing subfield of automatic program repair. Finally, we outline important open research challenges that we believe should guide future research in the area.

KW - Automatic program repair

KW - Evolutionary computation

KW - Software engineering

UR - http://www.scopus.com/inward/record.url?scp=84880642930&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84880642930&partnerID=8YFLogxK

U2 - 10.1007/s11219-013-9208-0

DO - 10.1007/s11219-013-9208-0

M3 - Article

VL - 21

SP - 421

EP - 443

JO - Software Quality Journal

JF - Software Quality Journal

SN - 0963-9314

IS - 3

ER -