  Context: Technical debt (TD) is a well-known metaphor for the long-term
effects of architectural decisions in software development and the trade-off
between producing high-quality, effective, and efficient code and meeting a
release schedule. Thus, the code degrades and needs refactoring. A lack of
resources, time, knowledge, or experience on the development team might cause
TD in any software development project. Objective: In the context of TD
detection, NLP has been utilized to identify the presence of TD automatically
and even recognize specific types of TD. However, the enormous variety of
feature extraction approaches and ML/DL algorithms employed in the literature
often hinders researchers from trying to improve their performance. Method: In
light of this, this SLR proposes a taxonomy of feature extraction techniques
and algorithms used in technical debt detection: its objective is to compare
and benchmark their performance in the examined studies. Results: We selected
55 articles that passed the quality evaluation of this SLR. We then
investigated which feature extractions and algorithms were employed to identify
TD in each SDLC phase. All approaches proposed in the analyzed studies were
grouped into NLP, NLP+ML, and NLP+DL. This allows us to discuss the performance
in three different ways. Conclusion: Overall, the NLP+DL group consistently
outperforms in precision and F1-score for all projects, and in all but one
project for the recall metric. Regarding the feature extraction techniques, the
PTWE consistently achieves higher precision, recall, and F1-score for each
project analyzed. Furthermore, TD types have been mapped, when possible, to
SDLC phases: this served to determine the best-performing feature extractions
and algorithms for each SDLC phase. Finally, based on the SLR results, we also
identify implications that could be of concern to researchers and
practitioners.
