Для студентов СПбГУ по предмету ДругиеРеализация и внедрение end-to-end системы обработки данных в инструмент AstminerРеализация и внедрение end-to-end системы обработки данных в инструмент Astminer
2024-08-062024-08-06СтудИзба
Курсовая работа: Реализация и внедрение end-to-end системы обработки данных в инструмент Astminer
Описание
Оглавление
2
Программное обеспечение стало неотъемлемой частью нашей жизни. Постоянно появляются новые приложения, программы и сайты, при-ходя на смену старым, код которых в свою очередь не утрачивается. Разработка программных продуктов только набирает обороты, пишет-ся все больше и больше кода, создаются новые проекты [1]. Доступный код всех программ можно рассматривать как постоянно увеличиваю-щийся объем данных, который можно использовать в любых целях.
Так развивается область машинного обучения для программной раз-работки [10], одной из целей которой является упрощения процесса написания кода. Например, помощь программисту релевантными под-сказками и поиск ошибок в коде [6, 11, 12]. Многим алгоритмам ма-шинного обучения требуются большие объемы обработанных данных, полученных из исходного кода программ.
Модели машинного обучения, упрощающие процесс разработки, ис-пользуются в разных отраслях, и поэтому обучаются на данных, полу-ченных из исходного кода на разных языках программирования (ссыл-ки). Также для разных алгоритмов машинного обучения требуется по-разному обработать данные [3, 6]. Может получиться так, что 2 алго-ритма должны получать данные в двух абсолютно разных форматах. Поэтому исследователям приходится самим разрабатывать инструмен-ты, собирающие и обрабатывающие данные, для области свое исследо-вания.
Инструмент Astminer [9] решает задачу извлечения разных форма-тов данных из исходного кода. Он умеет обрабатывать исходный код, написанный на языках Java, Python, jаvascript, C++ и извлекать дан-ные в требуемом пользователем формате.
Пользователь может запускать Astminer через интерфейс команд-ной строки, настраивая инструмент через переданные
1. | Введение | 3 | |
1.1. | Цельизадачи ......................... | 4 | |
2. | Обзор | 5 | |
2.1. | Базовыепонятия ....................... | 5 | |
2.2. | Инструмент astminer . . . . . . . . . . . . . . . . . . . . . | 6 | |
2.3. | Похожиеинструменты .................... | 12 | |
2.4. | Формат и чтение конфигурации . . . . . . . . . . . . . . . | 15 | |
2.5. | Вывод.............................. | 17 | |
3. | Реализация | 19 | |
3.1. | Основные шаги обработки данных и требования к ним . | 19 | |
3.2. | Реализацияархитектуры. . . . . . . . . . . . . . . . . . . | 21 | |
3.3. | Решение, запускающее шаги обработки данных по на- | ||
стройкампользователя.................... | 28 | ||
4. | Эксперимент | 31 | |
4.1. | Условияэксперимента .................... | 31 | |
4.2. | Исследовательские вопросы . . . . . . . . . . . . . . . . . | 31 | |
4.3. | Результаты........................... | 31 | |
4.4. | Обсуждениерезультатов . . . . . . . . . . . . . . . . . . . | 32 | |
5. | Заключение | 34 | |
Список литературы | 35 |
2
- Введение
Программное обеспечение стало неотъемлемой частью нашей жизни. Постоянно появляются новые приложения, программы и сайты, при-ходя на смену старым, код которых в свою очередь не утрачивается. Разработка программных продуктов только набирает обороты, пишет-ся все больше и больше кода, создаются новые проекты [1]. Доступный код всех программ можно рассматривать как постоянно увеличиваю-щийся объем данных, который можно использовать в любых целях.
Так развивается область машинного обучения для программной раз-работки [10], одной из целей которой является упрощения процесса написания кода. Например, помощь программисту релевантными под-сказками и поиск ошибок в коде [6, 11, 12]. Многим алгоритмам ма-шинного обучения требуются большие объемы обработанных данных, полученных из исходного кода программ.
Модели машинного обучения, упрощающие процесс разработки, ис-пользуются в разных отраслях, и поэтому обучаются на данных, полу-ченных из исходного кода на разных языках программирования (ссыл-ки). Также для разных алгоритмов машинного обучения требуется по-разному обработать данные [3, 6]. Может получиться так, что 2 алго-ритма должны получать данные в двух абсолютно разных форматах. Поэтому исследователям приходится самим разрабатывать инструмен-ты, собирающие и обрабатывающие данные, для области свое исследо-вания.
Инструмент Astminer [9] решает задачу извлечения разных форма-тов данных из исходного кода. Он умеет обрабатывать исходный код, написанный на языках Java, Python, jаvascript, C++ и извлекать дан-ные в требуемом пользователем формате.
Пользователь может запускать Astminer через интерфейс команд-ной строки, настраивая инструмент через переданные
Характеристики курсовой работы
Список файлов
Реализация и внедрение end-to-end системы обработки данных в инструмент Astminer.doc