Заключение
В рамках выполнения выпускной квалификационной работы была разработана программа, позволяющая автоматизировать проверку заданий по программированию по определенному набору критериев. Для реализации алгоритма были использованы подходы, широко использующиеся в индустрии. В программе был использован инструмент непрерывной интеграции Jenkins. Был также разработан, реализован и интегрирован в программу алгоритм поиска плагиата в исходном коде на языке Java.
Помимо этого, были изучены различные подходы верификации программного обеспечения, использующиеся в индустрии. Были изучены различные приемы построения веб-приложений, использования реляционных баз данных, а также написания веб-страниц.
Таким образом, в процессе выполнения выпускной квалификационной работы были решены следующие задачи:
- 1. Изучены распространенные аспекты проверки заданий по программированию;
- 2. Проведен анализ подходов к автоматизации проверки корректности работы программы, анализа программного кода, а также обнаружения плагиата в текстовых документах и программных кодах;
- 3. Выбраны подходы автоматизации проверки заданий по программированию на основе проведенного анализа;
- 4. Разработана архитектура программы автоматизации проверки работ по программированию;
- 5. Разработана программа в соответствии с разработанной архитектурой.
В качестве направлений дальнейшей работы могут выступать:
- · Добавление поддержки других популярных языков программирования для проведения проверки (напр., языки C/C++, PHP, JavaScript и др.);
- · Добавление поддержки других типов проектов для поддерживаемых языков (напр. Maven, Gradle, CMake и др.);
- · Добавление поддержки сторонних сервисов статического анализа кода и обнаружения плагиата (напр. MOSS, JPlag и др.);
- · Улучшение разработанного метода поиска плагиата с помощью добавления поддержки других языков программирования.