What TODO? An examination of code-level technical debt in open-source projects
Thesis event information
Date and time of the thesis defence
Place of the thesis defence
L5 Oulun Puhelin
Topic of the dissertation
What TODO? An examination of code-level technical debt in open-source projects
Doctoral candidate
Master of Science Leevi Rantala
Faculty and unit
University of Oulu Graduate School, Faculty of Information Technology and Electrical Engineering, Empirical Software Engineering in Software, Systems and Services
Subject of study
Information Processing Science
Opponent
Professor Javier González Huerta, Blekinge Tekniska Högskola
Custos
Professor Mika Mäntylä, University of Oulu
What TODO? An examination of code-level technical debt in open-source projects
Software development is a complex process. Various constraints and pressures can lead software developers to release low-quality code, known as technical debt. If this debt is not repaid, it can cause problems in further development and maintenance of the software. This dissertation examines technical debt present in code within open-source software projects.
The study focused particularly on self-admitted technical debt marked with a key term. This refers to a message left by a developer acknowledging the introduction of technical debt, accompanied by a keyword that clearly indicates it. Examples include comments in the code containing words such as TODO or FIXME.
The research investigated how widespread this phenomenon of self-admitted technical debt is and its relationship to static analysis tools. The goal was to understand the scale of the problem. Additionally, the study explored whether the issues mentioned in comments can be detected by static analysis tools. The dissertation also focused on improving two typical processes related to the study of self-admitted technical debt.
The results show that this is a widespread phenomenon across multiple programming languages. Furthermore, it was found that static analysis tools often fail to detect the problems mentioned in comments. The dissertation developed two methods to improve the research techniques used in this area. First, a way was created to generate text datasets from multiple projects that ensure generalizable results for use in machine learning. The study also introduced a process where, through collaboration among several people, one researcher can be replaced by generative AI, thereby saving resources.
The study focused particularly on self-admitted technical debt marked with a key term. This refers to a message left by a developer acknowledging the introduction of technical debt, accompanied by a keyword that clearly indicates it. Examples include comments in the code containing words such as TODO or FIXME.
The research investigated how widespread this phenomenon of self-admitted technical debt is and its relationship to static analysis tools. The goal was to understand the scale of the problem. Additionally, the study explored whether the issues mentioned in comments can be detected by static analysis tools. The dissertation also focused on improving two typical processes related to the study of self-admitted technical debt.
The results show that this is a widespread phenomenon across multiple programming languages. Furthermore, it was found that static analysis tools often fail to detect the problems mentioned in comments. The dissertation developed two methods to improve the research techniques used in this area. First, a way was created to generate text datasets from multiple projects that ensure generalizable results for use in machine learning. The study also introduced a process where, through collaboration among several people, one researcher can be replaced by generative AI, thereby saving resources.
Created 3.11.2025 | Updated 3.11.2025