This bachelor's thesis discusses a system for identifying bug-inducing commits based on user activity logs from an Ember.js application. The system includes an error tracking addon to log errors and user events, which are sent to a measurement server. The server analyzes the stack traces to determine the bug-inducing commit and compares this approach to the traditional SZZ algorithm. The thesis evaluates the system through data exploration and case studies, finding it was able to more accurately identify the bug-inducing commit than the SZZ algorithm when stack traces were available.
2. “Identification of Bug-Inducing
Commits Based on User Activity”
Kristian Schwienbacher
Free University of Bolzano - Bachelor in Computer Science
Bachelor Thesis
3. PROBLEM SOLUTION
EVALUATION
Comparison with the SZZ Algorithm
PROBLEM STATEMENT
Implementation of the System
Outline
DISCUSSION
01
02
03
04
Goal of the project and Requirements of the System
Limitations and Scope of Application
5. ● Errors inside running applications must be tracked
● Interactions of users are logged in form of
stack-traces
● Error-log are analyzed to determine bug-inducing
commit
● Comparison with traditional bug-localization
algorithm
PROBLEM STATEMENT
9. PROBLEM SOLUTION
Error Tracking Addon
● Catches all errors occurring during run-time
● Adds event listeners for pre-defined user events
● When error occurs, log is sent to API-endpoint
● Distributed as an open source NPM package
10. PROBLEM SOLUTION
Measurement Server
● initial state of application repository is analyzed
○ SZZ algorithm
○ average bug-fixing time
● logging endpoint
○ analyzes stack-traces to determine
bug-inducing-commit
○ GitHub Issues
17. EVALUATION
Case Study I
● Bug: no plans would be available when existing
customer tried to upgrade one of their applications
● Fixing Commit: 92 line modifications, 7 files
● SZZ: pointed to commit made 17 days prior to bugfix
● Error Logger: bug was introduced 74 days before
being fixed
19. Discussion
● The majority of the bugs do not generate any error
message
● SZZ algorithm can be applied on most bugs
● Approach of this project only applicable when stack
traces are generated
● When stack trace is available this approach was
determined to be more accurate in the case studies
20. References
● T. Zimmermann J. Sliwerski and A. Zeller. When do changes induce
fixes? In Proceedings of International Workshop on Mining Software
Repositories, pages 24–28, Saint Louis, Missouri, USA, 2005.
● Sunghun Kim, Thomas Zimmermann, Kai Pan, and E. James Whitehead Jr.
Automatic identification of bug introducing changes. In Proceedings of the 21st
IEEE/ACM International Conference on Automated Software Engineering, pages
81–90, September 2006.
● Kim Herzig, Sascha Just, and Andreas Zeller. It’s not a bug, it’s a feature: How
misclassification impacts bug prediction. In Proceedings of the 2013
International Conference on Software Engineering, ICSE ’13, pages 392–401,
Piscataway, NJ, USA, 2013. IEEE Press
● Gema Rodríguez-Pérez, Gregorio Robles, and Jesús M González-Barahona.
Reproducibility and Credibility in Empirical Software Engineering: A Case Study
based on a Systematic Literature Review of the use of the SZZ algorithm.
Information and Software Technology