Abstract
The problem of technical debt arises when part of software source code is upgrading not directly, but is fixed in the second place as outdated. Three corresponding models are presented. Machine learning is used to find code smells. The effectiveness of the approach for specific data is established and the prospect of expanding to a greater number of different cases is outlined.
Similar content being viewed by others
Notes
https://github.com/apache/ant.git, f61ac1296.
https://github.com/apache/drill.git, 85d270f3.
https://github.com/google/error-prone.git, 54fa3f38.
https://github.com/apache/giraph.git, 2c63aa23.
https://github.com/apache/hive.git, de0a7ecb.
https://github.com/google/truth.git, eaddc49f.
REFERENCES
M. Fowler, Refactoring: Improving the Design of Existing Code (Addison-Wesley, Boston, Mass., 1999).
V. V. Kachanov, M. K. Ermakov, G. A. Pankratenko, A. V. Spiridonov, A. S. Volkov, and S. I. Markov, “Technical debt in the software development lifecycle: Code smells,” Tr. Inst. Sist. Program. Ross. Akad. Nauk 33 (6), 95–110 (2021).
M. Tufano, F. Palomba, G. Bavota, et al., “When and why your code starts to smell bad,” in IEEE/ACM 37th Int. Conf. on Software Engineering (Florence, Italy, 2015), pp. 403–414.
P. Kokol, M. Kokol, and S. Zagoranski, “Code smells: A synthetic narrative review,” 2021. https://arxiv.org/abs/2103.01088. Accessed January 25, 2023.
F. A. Fontana and M. Zanoni, “Code smell severity classification using machine learning techniques,” Knowledge-Based Syst. 128, 43–58 (2017).
A. Barbez, F. Khomh, and Y. G. Guéhéneuc, “A machine-learning based ensemble method for anti-patterns detection,” J. Syst. Software 161, 110486 (2020).
T. Sharma, V. Efstathiou, P. Louridas, et al., “On the feasibility of transfer-learning code smells using deep learning,” 2019. https://arxiv.org/abs/1904.03031. Accessed January 25, 2023.
L. Madeyski and T. Lewowski, “MLCQ: Industry-relevant code smell data set,” in Proc. Evaluation and Assessment in Software Engineering (ACM, New York, 2020), pp. 342–347.
F. Palomba, G. Bavota, M. Di Pentaet, et al., “A large-scale empirical study on the lifecycle of code smell co-occurrences,” Inf. Software Technol. 99, 1–10 (2018).
F. Arcelli Fontana, M. Mantyla, M. Zanoniet, et al., “Comparing and experimenting machine learning techniques for code smell detection,” Empirical Software Eng. 21, 1143–1191 (2016).
V. Lenarduzzi, N. Saarimäki,D. Taibi, “The technical debt dataset,” in Proc. 15th Int. Conf. on Predictive Models and Data Analytics in Software Engineering (Recife, Brazil, 2019), pp. 2–11.
Y. Wang, H. Yu, and Zh. Zhu, et al., “Automatic software refactoring via weighted clustering in method-level networks,” IEEE Trans. Software Eng. 44 (3), 202–236 (2017).
R. M. Karampatsis and C. Sutton, “How often do single-statement bugs occur? The ManySStuBs4J Dataset,” in Proc. 17th Int. Conf. on Mining Software Repositories (Online), 2020, pp. 573–577.
F. Palomba, D. Di Nucci, M. Tufano, et al., “Landfill: An open dataset of code smells with public evaluation,” in IEEE/ACM 12th Working Conf. on Mining Software Repositories (IEEE, Florence, Italy, 2015), pp. 482–485.
F. Palomba, G. Bavota, M. Di Pentaet, et al., “On the diffuseness and the impact on maintainability of code smells: A large scale empirical investigation,” in Proc. 40th Int. Conf. on Software Engineering (Gothenburg, Sweden, 2018), pp. 482–482.
Qualitas Corpus. http://qualitascorpus.com/docs/history/20120401.html. Accessed January 25, 2023.
Author information
Authors and Affiliations
Corresponding authors
Ethics declarations
The authors declare that they have no conflicts of interest.
Additional information
Translated by V. V. Kachanov
Publisher’s Note.
Pleiades Publishing remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Kachanov, V.V., Markov, S.I. & Tsurkov, V.I. Machine Learning for Software Technical Debt Detection. J. Comput. Syst. Sci. Int. 62, 689–694 (2023). https://doi.org/10.1134/S106423072304007X
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1134/S106423072304007X