МАШИННОЕ ОБУЧЕНИЕ В ПРОБЛЕМЕ ТЕХНИЧЕСКОГО ДОЛГА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Обложка

Цитировать

Полный текст

Открытый доступ Открытый доступ
Доступ закрыт Доступ предоставлен
Доступ закрыт Только для подписчиков

Аннотация

При модернизации программного обеспечения возникает проблема технического долга, когда часть исходного кода напрямую не участвует в обновлении, а исправляется во вторую очередь как устаревшее. Представлены три соответствующие модели. Для поиска и исправления дефектов используется машинное обучение. Устанавливается эффективность подхода для конкретных данных и намечается перспектива расширения на большее количество различных случаев.

Об авторах

В. В. Качанов

ИСП РАН; МФТИ

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

С. И. Марков

ИСП РАН

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

В. И. Цурков

ФИЦ ИУ РАН

Автор, ответственный за переписку.
Email: tsur@ccas.ru
Россия, Москва

Список литературы

  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).

© В.В. Качанов, С.И. Марков, В.И. Цурков, 2023

Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах