Preview

Вестник НГУ. Серия: Информационные технологии

Расширенный поиск

Разработка программных средств для улучшения работы механизма автодополнения кода с использованием алгоритмов машинного обучения в интегрированной среде разработки для языка Python

https://doi.org/10.25205/1818-7900-2020-18-2-62-75

Аннотация

Автоматическое дополнение кода является важной функцией интегрированной среды разработки. Оно позволяет пользователям упростить набор длинных выражений в процессе программирования. Методы автоматического дополнения кода, как рассматриваемые в научных работах, так и реализованные в коммерческих продуктах, варьируются от применения эвристик для конкретных случаев до машинного обучения. При этом такие методы обычно опираются на статистические данные и не учитывают поведение пользователей. В статье предлагается подход к улучшению механизма автоматического дополнения кода для языка Python на основе сбора данных о работе этого механизма у реальных пользователей. Эти данные используются для обучения модели с целью последующего ранжирования вариантов автодополнения с помощью алгоритмов машинного обучения. Для обучения модели используются два типа признаков: контекстные и элементные. Контекстные признаки описывают информацию о коде рядом с позицией курсора в текстовом редакторе. Элементные признаки описывают характеристики предлагаемого варианта дополнения кода, например длину совпадающего префикса или тип варианта. Отмечается зависимость модели от ограничений на время ее срабатывания и размер. В работе также рассматриваются различные подходы к оценке качества полученной модели.

Об авторах

А. О. Матвеев
Новосибирский государственный университет
Россия


А. В. Быстров
Институт систем информатики им. А. П. Ершова СО РАН
Россия


В. И. Бибаев
ООО «Интеллиджей Лабc»
Россия


Н. И. Поваров
ООО «Интеллиджей Лабc»
Россия


Рецензия

Для цитирования:


Матвеев А.О., Быстров А.В., Бибаев В.И., Поваров Н.И. Разработка программных средств для улучшения работы механизма автодополнения кода с использованием алгоритмов машинного обучения в интегрированной среде разработки для языка Python. Вестник НГУ. Серия: Информационные технологии. 2020;18(2):62-75. https://doi.org/10.25205/1818-7900-2020-18-2-62-75

For citation:


Matveev A.O., Bystrov A.V., Bibaev V.I., Povarov N.I. Development of Software Tools to Improve the Work of the Code Completion Mechanism Using Machine Learning Algorithms in an Integrated Development Environment for Python. Vestnik NSU. Series: Information Technologies. 2020;18(2):62-75. (In Russ.) https://doi.org/10.25205/1818-7900-2020-18-2-62-75

Просмотров: 46


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1818-7900 (Print)
ISSN 2410-0420 (Online)