МАШИННОЕ ОБУЧЕНИЕ В ПРОБЛЕМЕ ТЕХНИЧЕСКОГО ДОЛГА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- Авторы: Качанов В.В.1,2, Марков С.И.1, Цурков В.И.3
-
Учреждения:
- ИСП РАН
- МФТИ
- ФИЦ ИУ РАН
- Выпуск: № 4 (2023)
- Страницы: 98-104
- Раздел: ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
- URL: https://journals.rcsi.science/0002-3388/article/view/136877
- DOI: https://doi.org/10.31857/S0002338823040078
- EDN: https://elibrary.ru/OCRJMR
- ID: 136877
Цитировать
Аннотация
При модернизации программного обеспечения возникает проблема технического долга, когда часть исходного кода напрямую не участвует в обновлении, а исправляется во вторую очередь как устаревшее. Представлены три соответствующие модели. Для поиска и исправления дефектов используется машинное обучение. Устанавливается эффективность подхода для конкретных данных и намечается перспектива расширения на большее количество различных случаев.
Об авторах
В. В. Качанов
ИСП РАН; МФТИ
Email: vkachanov@ispras.ru
Россия, Москва; Россия, МО, Долгопрудный
С. И. Марков
ИСП РАН
Email: markov@ispras.ru
Россия, Москва
В. И. Цурков
ФИЦ ИУ РАН
Автор, ответственный за переписку.
Email: tsur@ccas.ru
Россия, Москва
Список литературы
- Fowler M. Refactoring: Improving the Design of Existing Code. Boston, MA, USA: Addison-Wesley, 1999.
- Качанов В.В., Ермаков М.К., Панкратенко Г.А., Спиридонов А.В., Волков А.С., Марков С.И. Технический долг в жизненном цикле разработки ПО: запахи кода // Тр. Института системного программирования РАН. 2021. Т. 33. № 6. С. 95–110.
- 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.
- Kokol P., Kokol M., Zagoranski S. Code Smells: A Synthetic Narrative Review // Available at: https://arxiv.org/abs/2103.01088 (дата обращения 2023-01-25).
- Fontana F. A., Zanoni M. Code Smell Severity Classification Using Machine Learning Techniques // Knowledge-Based Systems. 2017. V. 128. C. 43–58.
- 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.
- 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).
- Madeyski L., Lewowski T. MLCQ: Industry-relevant Code Smell Data Set // Proc. Evaluation and Assessment in Software Engineering. 2020. P. 342–347.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Qualitas Corpus. Available at: http://qualitascorpus.com/docs/history/20120401.html, (дата обращения 2023-01-25).