350 руб
Журнал «Динамика сложных систем - XXI век» №2 за 2020 г.
Статья в номере:
Анализ программного кода с использованием ансамблевых методов машинного обучения
DOI: 10.18127/j19997493-202002-04
УДК: 004.45
Авторы:

В.А. Галкин − к.т.н., доцент, 

кафедра «Системы обработки информации и управления», МГТУ им. Н.Э. Баумана

E-mail: galkin@bmstu.ru

И.С. Биушкин − магистр, 

кафедра «Системы обработки информации и управления», МГТУ им. Н.Э. Баумана

E-mail: biushkin.iwan@yandex.ru

У.В. Журавлева − магистр, 

кафедра «Системы обработки информации и управления», МГТУ им. Н.Э. Баумана

E-mail: 3101zuv@mail.ru

Аннотация:

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

Цель. Провести анализ текущего состояния программного кода и предыдущих версий проекта для усовершенствования прогнозирования дефектов системы. 

Результаты. Предложен инструмент для оценки серьезности дефектов в программных системах с учетом как статических, так и динамических аспектов кода. Показано, что включение динамики развития кода программных продуктов устраняет недостатки моделей статистического анализа и улучшает их основные характеристики. Смоделированы данные с использованием четыре ансамблевых классификаторов для вычисления тенденции дефектов в будущем выпуске программного обеспечения. Показано, что модель Voting превосходит другие ансамблевые модели с AUC 0.89. Выявлено, что использование динамики жизненного цикла программного кода позволяет лучше идентифицировать классы, склонные к дефектам в будущем.

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

Страницы: 34-41
Список источников
  1. 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.
  2. 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.
  3. Chidamber S.R., Kemerer C.F. A metrics suite for object oriented design // IEEE Transactions on Software Engineering. June 1994. P. 476–493.
  4. 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.
  5. 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.
Дата поступления: 5 мая 2020 г.