Алгоритм легковесного обнаружения схожести программного кода в системах автоматической проверки заданий
Лященко Б.С.
Мытищинский филиал Московского государственного технического университета имени Н.Э. Баумана, Мытищи
Ключевые слова: автоматическая проверка программ, антиплагиат, схожесть кода, токенизация, n-граммы, коэффициент Жаккара, Docker, микросервис.
Аннотация. Предлагается легковесный алгоритм выявления схожих программных решений для локальной системы автоматической проверки лабораторных работ. Алгоритм основан на нормализации исходного кода, токенизации, построении n-грамм и вычислении коэффициента Жаккара. Описана микросервисная архитектура на Python FastAPI и Docker, обеспечивающая безопасный запуск программ в изолированных контейнерах и интеграцию модуля антиплагиата в общий конвейер проверки. Рассмотрена схема экспериментальной оценки, включающая подбор порога, анализ распределений схожести и исследование ложных срабатываний, вызванных шаблонным кодом.
