ACM Home Page
Please provide us with feedback. Feedback
SZZ revisited: verifying when changes induce fixes
Full text PdfPdf (257 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2008 workshop on Defects in large software systems table of contents
Seattle, Washington
SESSION: Technical papers table of contents
Pages 32-36  
Year of Publication: 2008
ISBN:978-1-60558-051-7
Authors
Chadd Williams  Pacific University, Forest Grove, OR
Jaime Spacco  Colgate University, Hamilton, NY
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 52,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1390817.1390826
What is a DOI?

ABSTRACT

Automatically identifying commits that induce fixes is an important task, as it enables researchers to quickly and efficiently validate many types of software engineering analyses, such as software metrics or models for predicting faulty components. Previous work on SZZ, an algorithm designed by Sliwerski et al and improved upon by Kim et al, provides a process for automatically identifying the fix-inducing predecessor lines to lines that are changed in a bug-fixing commit. However, as of yet no one has verified that the fix-inducing lines identified by SZZ are in fact responsible for introducing the fixed bug. Also, the SZZ algorithm relies on annotation graphs, which are imprecise in the face of large blocks of modified code, for back-tracking through previous revisions to the fix-inducing change.

In this work we outline several improvements to the SZZ algorithm: First, we replace annotation graphs with line-number maps that track unique source lines as they change over the lifetime of the software; and second, we use DiffJ, a Java syntax-aware diff tool, to ignore comments and formatting changes in the source. Finally, we begin verifying how often a fix-inducing change identified by SZZ is the true source of a bug.



Collaborative Colleagues:
Chadd Williams: colleagues
Jaime Spacco: colleagues