РОЗРОБКА СЕРВЕРНОЇ ЧАСТИНИ СИСТЕМИ ПЕРЕВІРКИ ПРОГРАМНОГО КОДУ НА НАЯВНІСТЬ ПЛАГІАТУ
##plugins.themes.bootstrap3.article.main##
Анотація
У роботі описано аналіз передумов розробки та структуру розробленої серверної системи перевірки програмного коду, що є результатом виконання студентами практичних завдань з програмування, на наявність плагіату. Умови розробки системи складено на основі аналізу чотирьох наявних систем пошуку плагіату: MOSS, Codeqiury, Unicheck, CCFinderX. Для кожної з розглянутих систем визначено її переваги та недоліки, на основі чого визначено потрібні властивості розроблюваної системи. Визначено структуру серверної частини та потрібне програмне забезпечення й мову програмування для практичної реалізації. Визначено та наведено алгоритми для токенізації програмного коду та порівняння двох різних фрагментів коду з метою оцінки їх подібності. Реалізована у результаті система може використовуватись для надання API програмам пошуку плагіату у програмному коді.
##plugins.themes.bootstrap3.article.details##
Посилання
Aiken A., Schleimer S., Wikerson D. Winnowing: Local Algorithm for Document Fingerprinting. // Proceeding of ACMSIGMOD Int. Conference on Management of Data. San Diego. 2003. P. 76-85. ACM Press. New York, USA. 2003.
ANTLR 4, ANother Tool for Language Recognition [Електронний ресурс] – Режим доступу: https://www.antlr.org/
Baxter I., Yahin A., Moura L., Anna M.S., Bier L. Clone Detection Using Abstract Syntax Trees. // Proceedings of ICSM. IEEE. 1998.
CCFinderX. [Електронний ресурс] – https://github.com/gpoo/ccfinderx
Codequiry. [Електронний ресурс] – Режим доступу: https://codequiry.com
Faidhi J.A.W., Robinson S.K. An Empirical Approach for Detecting Program Similarity within a University Programming Environment. //Computer and Education. 1987. 11(1). P. 11-19.
Heckel P. A. Techique for Isolationg Differences Between File. // Communications of the ACM 21(4). April 1978. P. 264-268.
Heinzte N. Scalable Document Fingerprinting. // In 1996 USENIX Workshop of Electronic Commerce, 1996.
Huang X., Hardison R.C., Miller W. A Space-efficient Algorithm for Local Similarities. // Computer Applications in the Biosciences 6. 1990. P 373-381.
Gradle. [Електронний ресурс] – Режим доступу: https://gradle.org/
IntelliJ IDEA Ultimate Edition. [Електронний ресурс] – Режим доступу: https://www.jetbrains.com/ru-ru/idea/
ISO/IEC 2382-1:1993 Information Technology – Vocabulary – Part1: Fundamental terms. [Електронний ресурс] – Режим доступу: https://www.iso.org/ru/standard/7229.html
Java 11 JDK. Oracle. [Електронний ресурс] – Режим доступу: https://www.oracle.com/java/technologies/downloads/
JSON. [Електронний ресурс] – Режим доступу: https://www.json.org/json-en.html
JWT. [Електронний ресурс] – Режим доступу: https://jwt.io/
Lexical Analysis. [Електронний ресурс] – Режим доступу: https://en.wikipedia.org/wiki/Lexical_analysis
Mishne G., M. de Rijke. Source Code Retrieval using Conceptual Similarity // Proceedings RIAO. Vaucluse. 2004. P. 539-555.
MOSS A System for Detecting Software Similarity. [Електронний ресурс] – Режим доступу: https://theory.stanford.edu/~aiken /moss/
Prechelt L., Malpohl G., Philippsen M. JPlag: Finding Plagiarism Among a Set of Programs. // Technical Report No. 1/00, University of Karlsruhe, Department of Informatics. March 2000.
OAuth2. RFC 6749 [Електронний ресурс] – Режим доступу: https://datatracker.ietf.org/doc/html/rfc6749
RESTful API Tutorial. [Електронний ресурс] – Режим доступу: https://restfulapi.net/
Spring Boot 2 Framework. [Електронний ресурс] – Режим доступу: https://spring.io/
Unicheck. [Електронний ресурс] – Режим доступу: https://unicheck.com/ua/blog/innovative-tool-for-checking-source-code-for-plagiarism
Wise M.J. String similarity via greedy string tiling and running Karb-Rabin matching. // Dept. of CS, University of Sidney. December 1993.
Відстань Левенштейна. [Електронний ресурс] – Режим доступу: http://uk.wikipedia.org/wiki/Відстань_Левенштейна
Лексема. [Електронний ресурс] – 2021. – Режим доступу: http://uk.wikipedia.org/wiki/Лексема
Плагіат. [Електронний ресурс] – 2021. – Режим доступу: http://uk.wikipedia.org/wiki/Плагіат