effective detection of self- admitted technical debt everton s. maldonado emad shihab...

14
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 1

Upload: garry-randall

Post on 02-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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

Page 2: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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

Page 3: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

3

Current limitations

We only have one source for self-admitted technical debt, which is using comments.

Page 4: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

4

Research Overview

Page 5: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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 -

Page 6: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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

Page 7: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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

Page 8: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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

Page 9: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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

Page 10: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

10

Page 11: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

11

Effective Detection of Self-admitted Technical Debt

Everton S. Maldonado [email protected]

Concordia University

Emad [email protected]

Concordia University

Page 12: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

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

Page 13: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

13

Our workFind ways to effectively identify self-admitted technical debt is necessary

Using:- Commit messages- Bug reports- Online discussions (e.g., StackOverflow)

Page 14: Effective Detection of Self- admitted Technical Debt Everton S. Maldonado Emad Shihab e_silvam@cse.concordia.ca eshihab@cse.concordia.ca Department of

14

Our work

We perform a case study on Eclipse

…..to find out more…

…come see my poster