Сборники трудов ИСП РАН


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

Якимов И.А. (ИКИТ СФУ, Красноярск, Россия)
Кузнецов А.С. (ИКИТ СФУ, Красноярск, Россия)

Аннотация

Разработка программного обеспечения является сложным и подверженным ошибкам процессом. В целях снижения сложности разработки ПО создаются сторонние библиотеки. Примеры исходных кодов для популярных библиотек доступны в литературе и интернет-ресурсах. В данной работе представлена гипотеза о том, что большинство подобных примеров содержат повторяющиеся шаблоны. Более того, данные шаблоны могут быть использованы для построения моделей, способных предсказать наличие (либо отсутствие) недостающих вызовов определенных библиотечных функций с использование машинного обучения. В целях проверки данной гипотезы была реализована система, реализующая описанный функционал. Экспериментальные исследования, проведенные на примерах для библиотеки OpenGL, говорят в поддержку выдвинутой гипотезы. Точность результатов достигает 80%, при условии рассмотрения уже первых 4-х ответов, предлагаемых системой. Можно сделать вывод о том, что данная система при дальнейшем развитии может найти индустриальное применение.

Ключевые слова

OpenGL; качество программного обеспечения; рекомендательные системы; машинное обучение; нейронные сети

Издание

Труды Института системного программирования РАН, том 29, вып. 6, 2017, стр. 117-134.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2017-29(6)-6

Полный текст статьи в формате pdf Вернуться к содержанию тома