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

Труды ИСП РАН, 2018, том 30, выпуск 3, страницы 63–86 (Mi tisp325)

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

Applying deep learning to C# call sequence synthesis

[Применение глубокого машинного обучения к синтезу цепочки вызовов C#]

A. E. Chebykin, I. A. Kirilenko

Faculty of Mathematics and Mechanics, Saint Petersburg State University

Аннотация: Большая часть стандартных для программирования задач - например, соединение с базой данных, отображение картинки, чтение файла - давно реализована в различных библиотеках и доступна через соответствующие Application Programming Interfaces (APIs). Однако чтобы воспользоваться ими, разработчик должен сначала узнать, что они существуют, а затем - как правильно с ними работать. В настоящее время Интернет кажется наилучшим и самым популярным источником подобной информации. Недавно был предложен другой подход, основанный на глубоком машинном обучении и реализованный в виде инструмента под названием DeepAPI. По описанию желаемой функциональности на английском языке он генерирует цепочку вызовов Java функций. В данной статье мы показываем, как подход может быть перенесен на другой язык программирования (C# вместо Java), на котором доступно меньше открытого кода; мы описываем техники, позволившие достичь результата, близкого к оригинальному, а также техники, которые не улучшили производительность. Наконец, чтобы облегчить будущие исследования в области, мы публикуем наши набор данных, код и обученную модель.

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

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

DOI: 10.15514/ISPRAS-2018-30(3)-5



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


© МИАН, 2024