АВТОМАТИЧЕСКАЯ ГЕНЕРАЦИЯ И ПРОВЕРКА ЗАДАЧ ПО ПРОГРАММНОЙ РЕАЛИЗАЦИИ И ТЕСТИРОВАНИЮ МАТРИЧНЫХ ПРЕОБРАЗОВАНИЙ НА ОСНОВЕ МУТАЦИОННОГО АНАЛИЗА
Скачать PDF
Аннотация: Актуальность работы обусловлена необходимостью развития профессиональных навыков разработчиков программного обеспечения (ПО) в области практической реализации матричных преобразований, лежащих в основе современных алгоритмов интеллектуального анализа данных и машинного обучения, а также навыков в области тестирования ПО для раннего выявления дефектов и ошибок в нём в соответствии рекомендациям, закреплённым в ГОСТ Р 56920–2024 и ГОСТ Р 56939–2024. Целью работы является автоматизация порождения задач на тему программной реализации и тестирования матричных преобразований с поддержкой автоматической проверки их программных решений. Научная новизна предлагаемого метода заключается в совместном использовании: системы переписывания термов с ограничениями, учитывающими специфику матричных преобразований; мутационного анализа на основе заранее заготовленных модифицированных программ для оценки качества реализованных учащимися тестирующих функций; интерпретации деревьев выражений с полной и пониженной точностью матричных операций для генерации кроссплатформенных наборов тестов. Использование предложенного метода в учебном процессе позволило освободить преподавателей от необходимости проверки 12269 программ, присланных студентами за семестр. Применение мутационного анализа как отдельного этапа автоматической проверки программ обеспечило повышение устойчивости задач к их решению большими языковыми моделями с методом zero-shot до 80% и повысило число отклонённых программ на 33,5% от общего числа проверенных программ по сравнению с алгоритмом автоматической проверки без мутационного анализа. В результате работы учащихся над повышением качества тестирующих функций в отклонённых программах среднее число выполнений оператора assert в принятых программах увеличилось в 2,24 раза. При этом время генерации индивидуальных задач для более 1400 учащихся с 5 тестами для автоматической проверки и 3 модифицированными программами для мутационного анализа, выполненной при помощи программного средства, реализованного на языке Python, не превышает нескольких минут, а время проверки и мутационного анализа одной программы в «песочнице», реализованной в виде Docker-контейнера с изоляцией, составляет в среднем 8,4 секунды. Полученные результаты могут использоваться в рамках учебных дисциплин с большим числом студентов, в массовых онлайн-курсах, при проведении соревнований по программированию.
Ключевые слова: алгоритмы генерации учебных задач, онлайн-образование, линейная алгебра, мутационный анализ, мутационное тестирование, модульное тестирование, программирование, numpy
Номера страниц: 33-49.
Для цитирования: Горчаков А.В., Советов П.Н. Автоматическая генерация и проверка задач по программной реализации и тестированию матричных преобразований на основе мутационного анализа // Электронный научный журнал «ИТ-Стандарт». – 2026. – № 3. – С. 33-49.