The ManyBugs and IntroClass Benchmarks for Automated Repair of C Programs

Claire Le Goues, Neal Holtschulte, Edward K. Smith, Yuriy Brun, Premkumar Devanbu, Stephanie Forrest, Westley Weimer

Research output: Contribution to journalArticlepeer-review

198 Scopus citations

Abstract

The field of automated software repair lacks a set of common benchmark problems. Although benchmark sets are used widely throughout computer science, existing benchmarks are not easily adapted to the problem of automatic defect repair, which has several special requirements. Most important of these is the need for benchmark programs with reproducible, important defects and a deterministic method for assessing if those defects have been repaired. This article details the need for a new set of benchmarks, outlines requirements, and then presents two datasets, ManyBugs and IntroClass, consisting between them of 1,183 defects in 15 C programs. Each dataset is designed to support the comparative evaluation of automatic repair algorithms asking a variety of experimental questions. The datasets have empirically defined guarantees of reproducibility and benchmark quality, and each study object is categorized to facilitate qualitative evaluation and comparisons by category of bug or program. The article presents baseline experimental results on both datasets for three existing repair methods, GenProg, AE, and TrpAutoRepair, to reduce the burden on researchers who adopt these datasets for their own comparative evaluations.

Original languageEnglish (US)
Article number7153570
Pages (from-to)1236-1256
Number of pages21
JournalIEEE Transactions on Software Engineering
Volume41
Issue number12
DOIs
StatePublished - Dec 1 2015
Externally publishedYes

Keywords

  • Automated program repair
  • INTROCLASS
  • MANYBUGS
  • benchmark
  • reproducibility
  • subject defect

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'The ManyBugs and IntroClass Benchmarks for Automated Repair of C Programs'. Together they form a unique fingerprint.

Cite this