TitleComparing developer-provided to user-provided tests for fault localization and automated program repair
Publication TypeConference Paper
Year of Publication2018
AuthorsJust R, Parnin C, Drosos I, Ernst MD
Conference NameISSTA 2018, Proceedings of the 2018 International Symposium on Software Testing and Analysis
Pagination287-297
Date or Month PublishedJuly
Conference LocationAmsterdam, Netherlands
AbstractTo realistically evaluate a software testing or debugging technique, it must be run on defects and tests that are characteristic of those a developer would encounter in practice. For example, to determine the utility of a fault localization or automated program repair technique, it could be run on real defects from a bug tracking system, using real tests that are committed to the version control repository along with the fixes. Although such a methodology uses real tests, it may not use tests that are characteristic of the information a developer or tool would have in practice. The tests that a developer commits \emphafter fixing a defect may encode more information than was available to the developer when initially diagnosing the defect. \par This paper compares, both quantitatively and qualitatively, the developer-provided tests committed along with fixes (as found in the version control repository) versus the user-provided tests extracted from bug reports (as found in the issue tracker). It provides evidence that developer-provided tests are more targeted toward the defect and encode more information than user-provided tests. For fault localization, developer-provided tests overestimate a technique's ability to rank a defective statement in the list of the top-n most suspicious statements. For automated program repair, developer-provided tests overestimate a technique's ability to (efficiently) generate correct patches–-user-provided tests lead to fewer correct patches and increased repair time. This paper also provides suggestions for improving the design and evaluation of fault localization and automated program repair techniques.
Downloadshttps://docs.google.com/presentation/d/1vdkSkkue-jsk5VdUtcXwYIZ0_2bJlfBv... slides (Google Slides) https://github.com/rjust/defects4j data
Citation KeyJustPDE2018