Who (Self) Admits Technical Debt?

Gianmarco Fucci, Fiorella Zampetti, Alexander Serebrenik, Massimiliano Di Penta

Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

Abstract

Self-Admitted Technical Debt (SATD) are comments, left by developers in the source code or elsewhere, aimed at describing the presence of TD, i.e., source code “not ready yet”. Although this was never stated in the original paper by Potdar and Shihab, the term SATD might suggest that it refers to a “self-admission” by whoever has written or changed the source code. This paper empirically investigates, using a curated SATD dataset from five Java open-source projects, (i) the extent to which SATD comments are introduced by authors different from those who have done last changes to the related source code, and (ii) when this happens, what is the level of ownership those developers have about the commented source code. Results of the study indicate that, depending on the project, the percentage of SATD admissions introduced or changed without modifying the related source code varies between 0% and 16%, and therefore represent a small, yet not negligible, phenomenon. The level of ownership of those developers is not particularly low, with a median value per project between 10% and 42%. This indicates the possible use of SATD as a different way to perform code review, although this behavior should be considered sub-optimal to the use of more traditional tools, which entail suitable notification mechanisms.
Original languageEnglish
Title of host publicationProceedings - 2020 IEEE International Conference on Software Maintenance and Evolution, ICSME 2020
PublisherIEEE Computer Society
Pages672-676
Number of pages5
ISBN (Electronic)9781728156194
DOIs
Publication statusPublished - 30 Sep 2020

Keywords

  • Code review
  • Empirical study
  • Self-admitted technical debt

Fingerprint

Dive into the research topics of 'Who (Self) Admits Technical Debt?'. Together they form a unique fingerprint.

Cite this