SZZ Unleashed: An Open Implementation of the SZZ Algorithm -- Featuring Example Usage in a Study of Just-in-Time Bug Prediction for the Jenkins Project
arXiv:1903.01742 · doi:10.1145/3340482.3342742
Abstract
Numerous empirical software engineering studies rely on detailed information about bugs. While issue trackers often contain information about when bugs were fixed, details about when they were introduced to the system are often absent. As a remedy, researchers often rely on the SZZ algorithm as a heuristic approach to identify bug-introducing software changes. Unfortunately, as reported in a recent systematic literature review, few researchers have made their SZZ implementations publicly available. Consequently, there is a risk that research effort is wasted as new projects based on SZZ output need to initially reimplement the approach. Furthermore, there is a risk that newly developed (closed source) SZZ implementations have not been properly tested, thus conducting research based on their output might introduce threats to validity. We present SZZ Unleashed, an open implementation of the SZZ algorithm for git repositories. This paper describes our implementation along with a usage example for the Jenkins project, and conclude with an illustrative study on just-in-time bug prediction. We hope to continue evolving SZZ Unleashed on GitHub, and warmly invite the community to contribute.
References in corpus (1)
Cited by in corpus (6)
- Machine Learning for Software Engineering: A Systematic Mapping
- PR-SZZ: How pull requests can support the tracing of defects in software repositories
- Graph-Based Machine Learning Improves Just-in-Time Defect Prediction
- Comparative Analysis of Quantum and Classical Support Vector Classifiers for Software Bug Prediction: An Exploratory Study
- Utilizing Source Code Syntax Patterns to Detect Bug Inducing Commits using Machine Learning Models
- An Empirical Study on Code Review Activity Prediction and Its Impact in Practice