Алгоритм распознавания плагиатов кодов программ

Saved in:
Bibliographic Details
Title: Алгоритм распознавания плагиатов кодов программ
Publisher Information: БГТУ, 2018.
Publication Year: 2018
Subject Terms: копирайт, хэш, токенизация, кластеризация, распознавание плагиатов, теория алгоритмов
Description: В данной статье рассмотрен алгоритм распознавания плагиатов кодов программ. Предлагаемый алгоритм позволяет оценить схожесть программных текстов и построить соответствующие кластеры. Описан подход к разработке программного обеспечения, реализующего данный алгоритм, сформулированы задачи, решаемые таким программным обеспечением. Основой алгоритма распознавания плагиатов является алгоритм жадного строкового замощения, который дает хорошие результаты сравнения текстов. Кластеризация осуществляется над графом, в котором каждой вершине сопоставляется исследуемый код программы, а кластер представляет собой подмножество вершин, соответствующее подмножеству схожих программ. Граф является взвешенным: каждому ребру ставится в соответствие число от 0 до 1, выражающее степень схожести двух программ. Областью применения программного обеспечения, разработанного на основе подходов, описанных в статье, являются системы автоматизированного тестирования, применяемые при проведении соревнований по спортивному программированию.
Document Type: Article
File Description: application/pdf
Access URL: https://openrepository.ru/article?id=43825
Accession Number: edsair.httpsopenrep..c3c55113d61e0af3b44e7d5243d26a8d
Database: OpenAIRE
Description
Abstract:В данной статье рассмотрен алгоритм распознавания плагиатов кодов программ. Предлагаемый алгоритм позволяет оценить схожесть программных текстов и построить соответствующие кластеры. Описан подход к разработке программного обеспечения, реализующего данный алгоритм, сформулированы задачи, решаемые таким программным обеспечением. Основой алгоритма распознавания плагиатов является алгоритм жадного строкового замощения, который дает хорошие результаты сравнения текстов. Кластеризация осуществляется над графом, в котором каждой вершине сопоставляется исследуемый код программы, а кластер представляет собой подмножество вершин, соответствующее подмножеству схожих программ. Граф является взвешенным: каждому ребру ставится в соответствие число от 0 до 1, выражающее степень схожести двух программ. Областью применения программного обеспечения, разработанного на основе подходов, описанных в статье, являются системы автоматизированного тестирования, применяемые при проведении соревнований по спортивному программированию.