RUS  ENG
Полная версия
ЖУРНАЛЫ // Труды института системного программирования РАН // Архив

Труды ИСП РАН, 2021, том 33, выпуск 6, страницы 95–110 (Mi tisp648)

Эта публикация цитируется в 1 статье

Технический долг в жизненном цикле разработки ПО: запахи кода

В. В. Качановab, М. К. Ермаковa, Г. А. Панкратенкоa, А. В. Спиридоновa, А. С. Волковa, С. И. Марковa

a Институт системного программирования им. В.П. Иванникова РАН
b Московский физико-технический институт

Аннотация: Данная статья посвящена обзору наиболее популярных запахов кода, одного из компонентов технического долга, а также методов и инструментов их поиска. В статье проводится сравнительный анализ результатов работы таких инструментов как DesigniteJava, PMD, SonarQube. Инструменты были применены к набору проектов с открытым исходным кодом для вычисления точности обнаружения и согласованности выбранных инструментов. Показаны сильные и слабые стороны подхода, основанного на подсчете метрик кода и отсечения по пороговым значениям, который используется в инструментах. Ручная разметка результатов работы показала низкий процент истинных срабатываний (10% для божественного класса и 20% для сложного метода). Проведён обзор работ, предлагающих усовершенствование стандартного подхода и альтернативные, не использующие метрики. Для оценки потенциала альтернативных подходов разработан прототип обнаружения длинных методов с системой фильтрации ложноположительных срабатываний, использующие методы машинного обучения.

Ключевые слова: запахи кода, технический долг, машинное обучение, метрики кода.

DOI: 10.15514/ISPRAS-2021-33(6)-7



© МИАН, 2024