Abstract
Background. SZZ algorithm has been popularly used to identify bug-inducing changes in version history. It is still limited to link a fixing change to an inducing one, when the fix constitutes of code additions only. Goal. We improve the original SZZ by proposing a way to link the code additions in a fixing change to a list of candidate inducing changes. Method. The improved version, A-SZZ, finds the code block encapsulating the new code added in a fixing change, and traces back to the historical changes of the code block. We mined the GitHub repositories of two projects, Angular.js and Vue, and ran A-SZZ to identify bug-inducing changes of code additions. We evaluated the effectiveness of A-SZZ in terms of inducing and fixing ratios, and time span between the two changes. Results. The approach works well for linking code additions with previous changes, although it still produces many false positives. Conclusions. Nearly a quarter of the files in fixing changes contain code additions only, and hence, new heuristics should be implemented to link those with inducing changes in a more efficient way.
Original language | English |
---|---|
Title of host publication | Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2018 |
Publisher | IEEE Computer Society |
ISBN (Electronic) | 9781450358231 |
DOIs | |
Publication status | Published - 11 Oct 2018 |
Event | 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2018 - Oulu, Finland Duration: 11 Oct 2018 → 12 Oct 2018 |
Publication series
Name | International Symposium on Empirical Software Engineering and Measurement |
---|---|
ISSN (Print) | 1949-3770 |
ISSN (Electronic) | 1949-3789 |
Conference
Conference | 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2018 |
---|---|
Country/Territory | Finland |
City | Oulu |
Period | 11/10/18 → 12/10/18 |
Bibliographical note
Publisher Copyright:© 2018 Authors.
Keywords
- Bug inducing changes
- Repository mining
- SZZ