RUS  ENG
Полная версия
ЖУРНАЛЫ // Информатика, телекоммуникации и управление // Архив

Информатика, телекоммуникации и управление, 2020, том 13, выпуск 2, страницы 35–48 (Mi ntitu266)

Программное обеспечение вычислительных, телекоммуникационных и управляющих систем

Automatic generation of software bug fixes based on analysis of software repositories

[Автоматическое формирование исправлений ошибок программного кода на основе анализа программных репозиториев]

A. Belskii, V. M. Itsykson

Peter the Great St. Petersburg Polytechnic University

Аннотация: Описан разработанный подход к автоматизированному исправлению программных ошибок на основе анализа успешных исправлений проектов для языка программирования ABAP, имеющихся в открытых репозиториях. Подход основан на генерации кандидатов на исправления (патчей) по заранее определенным шаблонам и ранжирует полученные результаты по вероятности успешного применения, определяемой на основании вероятностной модели, полученной с помощью методов машинного обучения. Вероятностная модель формируется за счет обучения на свойствах, извлекаемых из данных успешных и неуспешных патчей ABAP-программ, доступных в открытых репозиториях. Разработанный подход протестирован как на искусственных примерах, так и на реальных проектах на языке ABAP с ошибками. В результате проведенных экспериментов успешно сформирован ряд патчей, которые показали свою работоспособность. Результаты по точности и эффективности сопоставимы или превосходят результаты экспериментов в аналогичных работах других авторов.

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

УДК: 004.052.44

Поступила в редакцию: 10.03.2020

Язык публикации: английский

DOI: 10.18721/JCSTCS.13204



© МИАН, 2024