RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2021 Volume 33, Issue 6, Pages 95–110 (Mi tisp648)

This article is cited in 1 paper

Technical debt in the software development lifecycle: code smells

V. V. Kachanovab, M. K. Ermakova, G. A. Pankratenkoa, A. V. Spiridonova, A. S. Volkova, S. I. Markova

a Ivannikov Institute for System Programming of the RAS
b Moscow Institute of Physics and Technology

Abstract: This paper is dedicated to the review of the most popular code smells, which is one of the technical debt components, in addition to methods and instruments for their detection. We conduct a comparative analysis of multiple instruments such as DesigniteJava, PMD, SonarQube. We apply existing tools to set of open-source projects to deduce detection precision and coherence of the selected instruments. We highlight strengths and weaknesses of the approach based on metrics computation and threshold filtering that is used in instruments. Citing of code smells detected by the instruments shows low percentage of true positives (10% for god class and 20% for complex method). We perform literature review of papers suggesting enhancements of the standard approach and alternative approaches that doesn't involve metrics. To assess the potential of alternative methods we introduce our long method detection prototype with a false positive filtering system based on machine learning methods.

Keywords: code smells, technical debt, machine learning, source code metrics.

DOI: 10.15514/ISPRAS-2021-33(6)-7



© Steklov Math. Inst. of RAS, 2024