Alleviating Patch Overfitting with Automatic ...
Document type :
Compte-rendu et recension critique d'ouvrage
Title :
Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair System
Author(s) :
Yu, Zhongxing [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Martinez, Matias [Auteur]
Université de Valenciennes et du Hainaut-Cambrésis [UVHC]
Laboratoire d'Automatique, de Mécanique et d'Informatique industrielles et Humaines - UMR 8201 [LAMIH]
Danglot, Benjamin [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Durieux, Thomas [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Monperrus, Martin [Auteur]
KTH Royal Institute of Technology [Stockholm] [KTH ]
Self-adaptation for distributed services and large software systems [SPIRALS]
Martinez, Matias [Auteur]
Université de Valenciennes et du Hainaut-Cambrésis [UVHC]
Laboratoire d'Automatique, de Mécanique et d'Informatique industrielles et Humaines - UMR 8201 [LAMIH]
Danglot, Benjamin [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Durieux, Thomas [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Monperrus, Martin [Auteur]
KTH Royal Institute of Technology [Stockholm] [KTH ]
Journal title :
Empirical Software Engineering
Pages :
33–67
Publisher :
Springer Verlag
Publication date :
2018-05-12
ISSN :
1382-3256
English keyword(s) :
Automatic test case generation
Program repair
Patch overfitting
Synthesis-based repair
Program repair
Patch overfitting
Synthesis-based repair
HAL domain(s) :
Informatique [cs]/Génie logiciel [cs.SE]
English abstract : [en]
Among the many different kinds of program repair techniques, one widely studied family of techniques is called test suite based repair. However, test suites are in essence input-output specifications and are thus typically ...
Show more >Among the many different kinds of program repair techniques, one widely studied family of techniques is called test suite based repair. However, test suites are in essence input-output specifications and are thus typically inadequate for completely specifying the expected behavior of the program under repair. Consequently, the patches generated by test suite based repair techniques can just overfit to the used test suite, and fail to generalize to other tests. We deeply analyze the overfitting problem in program repair and give a classification of this problem. This classification will help the community to better understand and design techniques to defeat the overfitting problem. We further propose and evaluate an approach called UnsatGuided, which aims to alleviate the overfitting problem for synthesis-based repair techniques with automatic test case generation. The approach uses additional automatically generated tests to strengthen the repair constraint used by synthesis-based repair techniques. We analyze the effectiveness of UnsatGuided: 1) analytically with respect to alleviating two different kinds of overfitting issues; 2) empirically based on an experiment over the 224 bugs of the Defects4J repository. The main result is that automatic test generation is effective in alleviating one kind of overfitting issue–regression introduction, but due to oracle problem, has minimal positive impact on alleviating the other kind of overfitting issue–incomplete fixing.Show less >
Show more >Among the many different kinds of program repair techniques, one widely studied family of techniques is called test suite based repair. However, test suites are in essence input-output specifications and are thus typically inadequate for completely specifying the expected behavior of the program under repair. Consequently, the patches generated by test suite based repair techniques can just overfit to the used test suite, and fail to generalize to other tests. We deeply analyze the overfitting problem in program repair and give a classification of this problem. This classification will help the community to better understand and design techniques to defeat the overfitting problem. We further propose and evaluate an approach called UnsatGuided, which aims to alleviate the overfitting problem for synthesis-based repair techniques with automatic test case generation. The approach uses additional automatically generated tests to strengthen the repair constraint used by synthesis-based repair techniques. We analyze the effectiveness of UnsatGuided: 1) analytically with respect to alleviating two different kinds of overfitting issues; 2) empirically based on an experiment over the 224 bugs of the Defects4J repository. The main result is that automatic test generation is effective in alleviating one kind of overfitting issue–regression introduction, but due to oracle problem, has minimal positive impact on alleviating the other kind of overfitting issue–incomplete fixing.Show less >
Language :
Anglais
Popular science :
Non
Collections :
Source :
Files
- https://hal.inria.fr/hal-01774223/document
- Open access
- Access the document
- http://arxiv.org/pdf/1810.10614
- Open access
- Access the document
- https://hal.inria.fr/hal-01774223/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01774223/document
- Open access
- Access the document
- document
- Open access
- Access the document
- alleviating_Overfitting.pdf
- Open access
- Access the document
- 1810.10614
- Open access
- Access the document