OpenSZZ - Evaluation and Improvement

Name
Vladyslav Bondarenko
Abstract
SZZ is an algorithm proposed by ƚliwerski, Zimmerman and Zeller to identify bug-introducing changes in software repositories. The algorithm consists of two parts. The first part is the identification of bug-fixing changes relying on information in an issue tracker. The second part is the identification of bug-introducing changes based on bug-fixing changes and relying on the annotation/blame feature of a version control system.
A few open-source implementations of the SZZ algorithm were proposed, and OpenSZZ is one of them. Although the SZZ algorithm has limitations, and some of them are already overcome, OpenSZZ implements the basic version of this algorithm. On the other hand, unlike other SZZ implementations, OpenSZZ is a cloud-native web application and implements both parts of the algorithm. Therefore, we improve OpenSZZ and propose an improved version of SZZ on top of it.
We found that OpenSZZ has issues with its implementation and provides incorrect results. In this thesis, we fixed found issues with OpenSZZ and improved it with features proposed in other SZZ implementations. In addition, we added an option to use information from issues of an issue tracker to identify bug-introducing changes. Finally, we added an option to analyze repositories without relying on an issue tracker.
Graduation Thesis language
English
Graduation Thesis type
Master - Software Engineering
Supervisor(s)
Dietmar Pfahl
Defence year
2021
 
PDF