Журнал "Программная инженерия"
Теоретический и прикладной научно-технический журнал
ISSN 2220-3397
Номер 2 2024 год
Спроектирована, реализована и протестирована система обнаружения сходства программного кода. Ее отличие от существующих систем заключается в применении агрегированного подхода, позволившего задействовать несколько базовых алгоритмов обнаружения сходства, а именно, использованы алгоритмы жадного замощения строк и просеивания. Для взаимодействия пользователя с системой предусмотрен интерфейс командной строки. Система реализована на языке программирования Python, что обеспечивает независимость новой системы от платформы. Для реализации функций предварительной обработки и исключения шаблонного кода использованы регулярные выражения, для токенизации кода на языке С++ — библиотека libclang. Тестирование полученного решения проводилось на задаче выявления плагиата программного кода. Одной из сфер применения данной системы может быть обнаружение плагиата в решениях участников соревнований по программированию, а также работах студентов, предполагающих самостоятельное выполнение.