В.А. Галкин − к.т.н., доцент,
кафедра «Системы обработки информации и управления», МГТУ им. Н.Э. Баумана
E-mail: galkin@bmstu.ru
И.С. Биушкин − магистр,
кафедра «Системы обработки информации и управления», МГТУ им. Н.Э. Баумана
E-mail: biushkin.iwan@yandex.ru
У.В. Журавлева − магистр,
кафедра «Системы обработки информации и управления», МГТУ им. Н.Э. Баумана
E-mail: 3101zuv@mail.ru
Постановка проблемы. В развивающихся программных продуктах с каждым новым технологическим дополнением увеличивается сложность программного обеспечения. Воспроизведение и устранение дефектов и ошибок в коде требует все больше и больше временных ресурсов. Текущее состояние инструментов аналитики позволяют исследовать только статические аспекты разработки программного обеспечения. Тем не менее возникает проблема оценки процесса динамического развития системы, чтобы своевременно обнаруживать ошибочные компоненты и модули на ранних стадиях разработки.
Цель. Провести анализ текущего состояния программного кода и предыдущих версий проекта для усовершенствования прогнозирования дефектов системы.
Результаты. Предложен инструмент для оценки серьезности дефектов в программных системах с учетом как статических, так и динамических аспектов кода. Показано, что включение динамики развития кода программных продуктов устраняет недостатки моделей статистического анализа и улучшает их основные характеристики. Смоделированы данные с использованием четыре ансамблевых классификаторов для вычисления тенденции дефектов в будущем выпуске программного обеспечения. Показано, что модель Voting превосходит другие ансамблевые модели с AUC 0.89. Выявлено, что использование динамики жизненного цикла программного кода позволяет лучше идентифицировать классы, склонные к дефектам в будущем.
Практическая значимость. Проведенное исследование поможет разработчикам эффективнее использовать свои ресурсы и предоставлять заказчикам более качественный продукт, а также выбрать лучшую модель прогнозирования дефектов и в дальнейшем попытаться ее усовершенствовать.
- Malhotra R., Shukla S., Sawhney G. Assessment of defect prediction models using machine learning techniques for object-oriented systems // In 2016 5th International Conference on Reliability, Infocom Technologies and Optimization. Sep 2016. P. 577–583.
- Gyimothy T., Ferenc R., Siket I. Empirical validation of object-oriented metrics on open source software for fault prediction // IEEE Transactions on Software Engineering. Oct 2005. P. 897–910.
- Chidamber S.R., Kemerer C.F. A metrics suite for object oriented design // IEEE Transactions on Software Engineering. June 1994. P. 476–493.
- Yuming Zhou, Hareton Leung. Empirical analysis of object-oriented design metrics for predicting high and low severity faults // IEEE Transactions on Software Engineering. Oct 2006. P. 771–789.
- Yogesh Singh, Arvinder Kaur, Ruchika Malhotra. Empirical validation of object-oriented metrics for predicting fault proneness models // Software Quality Journal. March 2010. P. 3–35.