Machine Learning for Software Technical Debt Detection

Cover Page

Cite item

Full Text

Open Access Open Access
Restricted Access Access granted
Restricted Access Subscription Access

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.

About the authors

V. V. Kachanov

Ivannikov Institute for System Programming of the RAS, 109004, Moscow, Russia; Moscow Institute of Physics and Technology, 141701, Dolgoprudni, Russia

Email: vkachanov@ispras.ru
Россия, Москва; Россия, МО, Долгопрудный

S. I. Markov

Ivannikov Institute for System Programming of the RAS, 109004, Moscow, Russia

Email: markov@ispras.ru
Россия, Москва

V. I. Tsurkov

Dorodnicyn Computing Centre, Russian Academy of Sciences, 119333, Moscow, Russia

Author for correspondence.
Email: tsur@ccas.ru
Россия, Москва

References

  1. Fowler M. Refactoring: Improving the Design of Existing Code. Boston, MA, USA: Addison-Wesley, 1999.
  2. Качанов В.В., Ермаков М.К., Панкратенко Г.А., Спиридонов А.В., Волков А.С., Марков С.И. Технический долг в жизненном цикле разработки ПО: запахи кода // Тр. Института системного программирования РАН. 2021. Т. 33. № 6. С. 95–110.
  3. Tufano M., Palomba F., Bavota G. et al. When and Why Your Code Starts to Smell Bad // IEEE/ACM 37th IEEE Intern. Conf. on Software Engineering. Florence, Italy, 2015. P. 403–414.
  4. Kokol P., Kokol M., Zagoranski S. Code Smells: A Synthetic Narrative Review // Available at: https://arxiv.org/abs/2103.01088 (дата обращения 2023-01-25).
  5. Fontana F. A., Zanoni M. Code Smell Severity Classification Using Machine Learning Techniques // Knowledge-Based Systems. 2017. V. 128. C. 43–58.
  6. Barbez A., Khomh F., Guéhéneuc Y. G. A Machine-learning Based Ensemble Method For Anti-patterns Detection // J. Systems and Software. 2020. V. 161. P. 110486.
  7. Sharma T., Efstathiou V., Louridas P. et al. On the Feasibility of Transfer-learning Code Smells Using Deep Learning // Available at: https://arxiv.org/abs/1904.03031 (дата обращения 2023-01-25).
  8. Madeyski L., Lewowski T. MLCQ: Industry-relevant Code Smell Data Set // Proc. Evaluation and Assessment in Software Engineering. 2020. P. 342–347.
  9. Palomba F., Bavota G., Di Pentaet M. et al. A Large-scale Empirical Study on the Lifecycle of Code Smell Co-occurrences // Information and Software Technology. 2018. V. 99. P. 1–10.
  10. Arcelli Fontana F. Mantyla M., Zanoniet M. et al. Comparing and Experimenting Machine Learning Techniques for Code Smell Detection // Empirical Software Engineering. 2016. V. 21 C. 1143–1191.
  11. Lenarduzzi V., SaarimГ¤ki N., Taibi D. The Technical Debt Dataset // Proc. 15th Intern. Conf. on Predictive Models and Data Analytics in Software Engineering. Recife, Brazil, 2019. P. 2–11.
  12. Wang Y. Yu H., Zhu Zh. et al. Automatic Software Refactoring Via Weighted Clustering in Method-level Networks // IEEE Transactions on Software Engineering. 2017. V. 44. № 3. P. 202–236.
  13. Karampatsis R. M., Sutton C. How Often do Single-statement Bugs Occur? The ManySStuBs4J Dataset // Proc. 17th Intern. Conf. on Mining Software Repositories. Online, 2020. P. 573–577.
  14. Palomba F., Di Nucci D., Tufano M. et al. Landfill: An Open Dataset of Code Smells With Public Evaluation // IEEE/ACM 12th Working Conf. on Mining Software Repositories. IEEE. Florence, Italy, 2015. P. 482–485.
  15. Palomba F., Bavota G., Di Pentaet M. et al. On The Diffuseness and The Impact on Maintainability of Code Smells: a Large Scale Empirical Investigation // Proc. 40th Intern. Conf. on Software Engineering. Gothenburg, Sweden, 2018. P. 482–482.
  16. Qualitas Corpus. Available at: http://qualitascorpus.com/docs/history/20120401.html, (дата обращения 2023-01-25).


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies