Рус Eng Cn Перевести страницу на:  
Please select your language to translate the article


You can just close the window to don't translate
Библиотека
ваш профиль

Вернуться к содержанию

Программные системы и вычислительные методы
Правильная ссылка на статью:

Сидоркина И.Г., Белоусов С.А., Хукаленко К.С., Нехорошкова Л.Г. Алгоритм поиска плагиата в исходном коде программного обеспечения

Аннотация: Программирование характеризуется большим числом разнообразных правил, приемов, методов и средств его выполнения, применение которых зависит от квалификации, опыта и индивидуальных особенностей программистов. Анализируются особенности алгоритмов анализа плагиата программного кода, величины семантического шума в текстах программ на основе исследуемых методов. Приводится алгоритм с использованием комбинированного подхода некоторых текстовых и семантических алгоритмов. Показано, в какое представление переводится исходный код программ в большинстве современных алгоритмов, далее описаны классы современных алгоритмов поиска плагиата в исходных текстах программ. В результате представлен усовершенствованный алгоритм поиска плагиата, предлагаемый для использования в учебной практике для выявления плагиата среди лабораторных работ студентов. Полученный алгоритм объединяет в себе как плюсы текстовых алгоритмов, так и семантических, при этом основная вычислительная часть имеет очень хороший параллелизм, что сокращает время ее выполнения при наличии вычислительных мощностей.


Ключевые слова:

плагиат, исходный код, программный код, токен, , , семантика, семантические алгоритмы, коэффициент совпадения, коэффициент схожести, метрика, комбинированный алгоритм

Abstract: Programming is characterized by a variety rules, techniques, methods and means of its implementation, applied depending on qualification, experience and individual peculiarities of programmers. The authors analyze the different algorithms of source code plagiarism detection and semantic noise values calculated by those methods for different source codes. The article presents algorithm based on the combined approaches of several text and semantic algorithms, shows the form to which the source code is transferred in the majority of modern algorithms, describes classes of the modern algorithms for plagiarism detection in software source code. As a result the authors present an improved algorithm for plagiarism detection suggested for use in educational practice to detect plagiarism in students’ works. The given algorithm combines features of both text and semantic algorithms, the computational part has high parallelization, which lowers the execution time in presence of computation power.


Keywords:

plagiarism, source code, program code, token, semantics, semantic algorithms, matching coefficient, coefficient of commonality, metric, combined algorithm


Эта статья может быть бесплатно загружена в формате PDF для чтения. Обращаем ваше внимание на необходимость соблюдения авторских прав, указания библиографической ссылки на статью при цитировании.

Скачать статью

Библиография
1. Wise M.J. String similarity via greedy string tiling and running Karp-Rabin matching. // Dept. of CS, University of Sydney. December 1993.
2. Baxter I., Yahin A., Moura L., Anna M.S., BierL. Clone Detection Using Abstract Syntax Trees. // Proceedings of ICSM. IEEE. 1998.
3. Prechelt L., Malpohl G., Philippsen M. JPlag: Finding plagiarisms among a set of programs. // Technical Report No. 1/00, Universityof Karlsruhe, Department of Informatics. March 2000.
4. Moussiades L.M., Vakali A. PDetect: A Clustering Approach for Detecting Plagiarism in Source Code Datasets. // The Computer Journal Advance Access. June 24, 2005
5. Manber U. Finding similar files in a large filesystem. // Proceedings of the USENIX Winter 1994 Technical Conference. San Francisco. 1994. P. 1–10.
6. Huang X., Hardison R.C., Miller W. A space-efficient algorithm for local similarities. // Computer Applications in the Biosciences 6. 1990. P. 373–381.
References
1. Wise M.J. String similarity via greedy string tiling and running Karp-Rabin matching. // Dept. of CS, University of Sydney. December 1993.
2. Baxter I., Yahin A., Moura L., Anna M.S., BierL. Clone Detection Using Abstract Syntax Trees. // Proceedings of ICSM. IEEE. 1998.
3. Prechelt L., Malpohl G., Philippsen M. JPlag: Finding plagiarisms among a set of programs. // Technical Report No. 1/00, Universityof Karlsruhe, Department of Informatics. March 2000.
4. Moussiades L.M., Vakali A. PDetect: A Clustering Approach for Detecting Plagiarism in Source Code Datasets. // The Computer Journal Advance Access. June 24, 2005
5. Manber U. Finding similar files in a large filesystem. // Proceedings of the USENIX Winter 1994 Technical Conference. San Francisco. 1994. P. 1–10.
6. Huang X., Hardison R.C., Miller W. A space-efficient algorithm for local similarities. // Computer Applications in the Biosciences 6. 1990. P. 373–381.