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

Тр. СПИИРАН, 2019, выпуск 18, том 3, страницы 742–766 (Mi trspy1062)

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

Искусственный интеллект, инженерия данных и знаний

Идентификация автора исходного кода методами машинного обучения

А. В. Куртукова, А. С. Романов

Томский государственный университет систем управления и радиоэлектроники (ТУСУР)

Аннотация: Статья посвящена анализу проблемы определения автора исходного кода, которая представляет интерес для исследователей в области информационной безопасности, компьютерной криминалистики, оценки качества образовательного процесса, защиты интеллектуальной собственности.
Представлен подробный анализ современных решений проблемы. Предлагаются две новые методики идентификации на основе алгоритмов машинного обучения: машины опорных векторов, фильтра быстрой корреляции и информативных признаков; гибридной сверточно-рекуррентной нейронной сети.
Эксперименты проводились на базе исходных кодов, написанных на наиболее популярных языках программирования. В экспериментальную базу вошли экземпляры исходных кодов, написанных на Java, C++, Python, PHP, JavaScript, C, C# и Ruby. Данные были получены с веб-сервиса для хостинга IT-проектов Github. Общее количество исходных кодов превышает 150 тысяч образцов, средняя длина каждого из которых составляет 850 символов. Размер корпуса — 542 автора.
С помощью перекрестной проверки по 10 блокам оценена точность разработанных методик для различного количества авторов. Для наиболее популярного языка программирования Java проведен дополнительный ряд экспериментов с количеством авторов от 2 до 50 и приведены графики зависимости точности идентификации от размера корпуса.
Анализ результатов показал, что методика на основе гибридной нейронной сети способна достигать точности 97%, что является наилучшим результатом на сегодняшний день. Методика на основе машины опорных векторов позволила добиться точности 96%. Гибридная нейронная сеть оказалась точнее машины опорных векторов в среднем на 5%.

Ключевые слова: автор исходного кода, глубокое обучение, нейронная сеть, SVM, HNN.

УДК: 519.25: 004.8

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

DOI: 10.15622/sp.2019.18.3.741-765



Реферативные базы данных:


© МИАН, 2024