Results 1 -
2 of
2
Is the cure worse than the disease? Overfitting in automated program repair
- In European Software Engineering Conference and ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE
, 2015
"... Automated program repair has shown promise for reducing the sig-nificant manual effort debugging requires. This paper addresses a deficit of earlier evaluations of automated repair techniques caused by repairing programs and evaluating generated patches ’ correctness using the same set of tests. Sin ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
(Show Context)
Automated program repair has shown promise for reducing the sig-nificant manual effort debugging requires. This paper addresses a deficit of earlier evaluations of automated repair techniques caused by repairing programs and evaluating generated patches ’ correctness using the same set of tests. Since tests are an imperfect metric of program correctness, evaluations of this type do not discriminate be-tween correct patches and patches that overfit the available tests and break untested but desired functionality. This paper evaluates two well-studied repair tools, GenProg and TrpAutoRepair, on a pub-licly available benchmark of 998 bugs, each with a human-written patch. By evaluating patches using tests independent from those used during repair, we find that the tools are unlikely to improve the proportion of independent tests passed, and that the quality of the patches is proportional to the coverage of the test suite used during repair. For programs that pass most tests, the tools are as likely to break tests as to fix them. However, novice developers also overfit, and automated repair performs no worse than these develop-ers. In addition to overfitting, we measure the effects of test suite coverage, test suite provenance, and starting program quality, as well as the difference in quality between novice-developer-written and tool-generated patches when quality is assessed with a test suite independent from the one used for patch generation.
Automatic Software Repair: a Bibliography
"... This article presents an annotated bibliography on automatic soft-ware repair. Automatic software repair consists of automatically finding a solution to software bugs, without human intervention. The unique-ness of this article is that it spans the research communities that con-tribute to this body ..."
Abstract
- Add to MetaCart
(Show Context)
This article presents an annotated bibliography on automatic soft-ware repair. Automatic software repair consists of automatically finding a solution to software bugs, without human intervention. The unique-ness of this article is that it spans the research communities that con-tribute to this body of knowledge: software engineering, dependability, operating systems, programming languages and security. Furthermore, it provides a novel and structured overview of the diversity of bug oracles and repair operators used in the literature. 1