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
SMART_READER_LITE
LIVE PREVIEW

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

Detec%ng ¡and ¡Quan%fying ¡Different ¡ Types ¡of ¡Self-­‑Admi;ed ¡Technical ¡Debt ¡

Everton ¡da ¡S. ¡Maldonado ¡and ¡ Emad ¡Shihab ¡

slide-2
SLIDE 2

Self-­‑Admi;ed ¡Technical ¡Debt ¡ Iden%fica%on ¡

Code ¡Comments ¡can ¡be ¡used ¡to ¡detect ¡TD ¡

Comment ¡Pa2erns ¡ “probably ¡a ¡bug” ¡ ¡ “hack” ¡ “fix ¡this ¡crap” ¡

Self-­‑Admi;ed ¡Technical ¡Debt ¡

“duct-­‑tape” ¡

slide-3
SLIDE 3

Examples of Self-admitted Technical Debt ¡

slide-4
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
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
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
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
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
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
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 ¡