Investigating the Relationship between Co-occurring Technical Debt in Python

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


Technical debt (TD) reflects issues that may negatively affect software maintenance and evolution. There is currently little evidence on how the different types of TD co-occur; for example, how code smells and design smells affect the same part of the system. This paper investigates how different types of TD co-occur, as well as the time period of the co-occurrence. To that end, we analyzed the co-occurring associations between five types of TD, captured in 42 SonarQube rules, in 3862 files of 20 Python projects from the Apache Software Foundation. We found that this phenomenon is dominant, affecting more than 90% of Python files. We also found that Documentation Debt and Test Debt appear in the majority of the files, although it seems to be mostly by coincidence. Finally, we noticed that co-occurrence of TD seems to happen very quickly: co-occurring issues tend to be introduced within the same week. But once it does happen, it is hard to get rid of. These results can benefit both researchers and practitioners by: aiding the prioritization of TD remediation; leading to novel tools for detecting co-occurring TD and warning potential issues; shedding further light on the explanation of how TD is introduced and can be mitigated.
Original languageEnglish
Title of host publicationProceedings of the 46th EUROMICRO conference on Software Engineering and Advanced Applications (SEAA '20)
Place of PublicationPortorož, Slovenia
Publication statusPublished - 2020
Event46th EUROMICRO Conference on Software Engineering and Advanced Applications - Portorož, Slovenia
Duration: 26-Aug-202028-Aug-2020
Conference number: 46th


Conference46th EUROMICRO Conference on Software Engineering and Advanced Applications
Abbreviated titleSEAA 2020
Internet address


  • technical debt
  • co-occurrence
  • Python
  • Apache Software Foundation

Cite this