SLIDE 1
Detec%ng and Quan%fying Different Types of Self-Admi;ed - - PowerPoint PPT Presentation
Detec%ng and Quan%fying Different Types of Self-Admi;ed - - PowerPoint PPT Presentation
Detec%ng and Quan%fying Different Types of Self-Admi;ed Technical Debt Everton da S. Maldonado and Emad Shihab Self-Admi;ed Technical Debt Iden%fica%on
SLIDE 2
SLIDE 3
Examples of Self-admitted Technical Debt ¡
SLIDE 4
Different ¡Types ¡of ¡Technical ¡Debt ¡ ¡
Technical ¡debt ¡is ¡a ¡broad ¡concept: ¡ ¡
What ¡types ¡of ¡TD ¡are ¡Self-‑Admi;ed? ¡
Requirement ¡debt ¡… ¡ ¡ Design ¡debt ¡, ¡ ¡ DocumentaBon ¡debt, ¡ ¡
SLIDE 5
Case ¡Study ¡
5 ¡
5 ¡open ¡source ¡Java ¡projects ¡
(Ant, ¡ArgoUML, ¡Columba, ¡JFreeChart ¡and ¡Jmeter) ¡
606K ¡+ ¡ ¡SLOC ¡ 39K ¡ ¡ ¡+ ¡ ¡Extracted ¡comments ¡ 8k ¡+ ¡ ¡ ¡ ¡ ¡ ¡Classes ¡
SLIDE 6
Manual ¡Classifica%on ¡of ¡Comments ¡
Can ¡a ¡comment ¡have ¡more ¡than ¡one ¡ ¡ classifica%on? ¡ There ¡is ¡a ¡possibility. ¡ The ¡manual ¡classifica%on ¡took ¡about ¡ ¡95 ¡hours ¡
SLIDE 7
Quan%fying ¡Self-‑Admi;ed ¡TD ¡ Comments ¡
7 ¡
Project ¡
# ¡of ¡analyzed ¡ comments ¡ # ¡of ¡self-‑ admi;ed ¡ ¡ TD ¡comments ¡ % ¡of ¡self-‑ admi;ed ¡TD ¡ per ¡project ¡
Ant ¡ 4,140 ¡ 134 ¡ 3.2 ¡ ArgoUML ¡ 9,788 ¡ 1,653 ¡ 16.8 ¡ Columba ¡ 6,569 ¡ 295 ¡ 4.4 ¡
JFreeChart ¡
4,433 ¡ 219 ¡ 4.9 ¡ Jmeter ¡ 8,163 ¡ 375 ¡ 4.6 ¡ TOTAL ¡ 33,093 ¡ 2,676 ¡
- ‑ ¡
SLIDE 8
Types ¡of ¡Self-‑Admi;ed ¡TD ¡
8 ¡
Ant Jmeter ArgoUml JFreeChart Columba Percentage 20 40 60 80 100
Design debt Requirement debt Defect debt Test debt Documentation debt
Design debt Requirement debt Defect debt Test debt Documentation debt
Ant Jmeter ArgoUml JFreeChart Columba
Percentage 40 60
SLIDE 9
Examples ¡of ¡Self-‑Admi;ed ¡TD ¡
9 ¡
Design ¡Debt: ¡
“quick ¡& ¡dirty, ¡to ¡make ¡nested ¡mapped ¡p-‑sets ¡work:” ¡ ¡ ¡[from ¡Ant] ¡ ¡
Requirement ¡Debt: ¡ Defect ¡Debt: ¡
“Bug ¡in ¡above ¡method” ¡-‑ ¡[from ¡Jmeter] ¡ “TODO: ¡no ¡methods ¡yet ¡for ¡getClassname” ¡[from ¡Ant] ¡
SLIDE 10
Take ¡Home ¡Messages ¡
- 1. ¡We ¡found ¡5 ¡types ¡of ¡self-‑admi2ed ¡TD. ¡
- 2. ¡3.2% ¡-‑ ¡16.8% ¡of ¡the ¡comments ¡contains ¡
some ¡type ¡of ¡technical ¡debt. ¡
- 3. ¡Design ¡and ¡Requirement ¡debt ¡are ¡the ¡
most ¡common ¡types ¡of ¡self-‑admi2ed ¡TD. ¡
10 ¡