1
Effective Detection of Self-admitted Technical Debt
Everton S. Maldonado Emad Shihab [email protected] [email protected]
Department of Computer Science and Software Engineering
Concordia University
2
Research Goal
Thus far, comments have been used to identify self-admitted technical debt
Our goal is to find other ways to identify self-admitted technical debt
3
Current limitations
We only have one source for self-admitted technical debt, which is using comments.
4
Research Overview
5
Case study on EclipseTotal of files analyzed in the project 33,222 -
Self Admitted Technical Debit 139 >1%
Retrieved commit messages 123 -
Classified as corrective change 59 47.96%
Classified as adaptive change 4 3.25%
Classified as perfective change 3 2.43%
Classified as feature addition change 9 7.31%
Classified as non-functional change 3 2.43%
Without classification 48 39.02%
Empty commit messages 28 -
6
Investigating Eclipse BugsFor our next charts:
- Creation is when the bug was opened in the bug tracker
- Commit is when a code change was submitted to address the specific bug
- Resolution is when the bug was marked as fixed
7
Number of daysNum
ber o
f bug
s
Corrective ChangesAverage: 118.3111Median : 35
Creation x Commit
Num
ber o
f bug
s
Number of days
Commit x Resolution
Num
ber o
f bug
s
Number of days
Creation x Resolution
Average: 138.5111Median : 15
Average: 257.3778Median : 66
8
Advantages- Developer input/confessions about the system
are taken into consideration
- Can bring more insights about how technical debt is introduced into the source code
- A light-weight approach
9
Ongoing and Future WorkManual examination of commits to identify patterns found in the commits messages that relate to self-admitted technical debt
Classify types of technical debt and relate them to specific types of fixes or refactoring
10
11
Effective Detection of Self-admitted Technical Debt
Everton S. Maldonado [email protected]
Concordia University
Emad [email protected]
Concordia University
12
Thus far …
Recent work has shown that technical debt is prevalent and unavoidable
Thus far, comments have been used to identify self-admitted technical debt
13
Our workFind ways to effectively identify self-admitted technical debt is necessary
Using:- Commit messages- Bug reports- Online discussions (e.g., StackOverflow)
14
Our work
We perform a case study on Eclipse
…..to find out more…
…come see my poster