Abstract
The paper deals with the issue of detecting plagiarism in source code, which we unfortunately encounter when teaching subjects dealing with programming and software development. Many students want to simplify the completion of the course and therefore submit modified source codes of their classmates or even those found on the Internet. Some try to modify the source code e.g. by changing the identifiers of classes, methods and variables to different ones, by changing the corresponding loops, by introducing new methods or by changing the order of methods in the source code or in other ways. We focused directly on this problem and designed our own anti-plagiarism system that we describe in this paper. The designed system consists of three parts during which the source code is processed using six designed algorithms. The basis is the processing of the source code and its transformation into an abstract syntax tree, consisting of two types of nodes, which is then vectorized using our modified DECKARD algorithm. The vectors are then clustered and stored in a database from which similar parts of the source code can be searched. The output of the system is then the final report containing a list of matches with similarities of all works that have been added to the database until then. The designed anti-plagiarism system is finally compared with the success of plagiarism detection performed by the two most used anti-plagiarism tools, namely JPlag and MOSS. It is evaluated on assignments elaborated by students from the courses dealing with object-oriented programming at our faculty.
Highlights
In the current global pandemic of Covid-19, teaching has moved even further into the online space
We focused directly on this problem and designed our own anti-plagiarism system that we describe in this paper
As we stated in the overview of the current state, there is no comprehensive system for searching for plagiarism in the source code, which would be to a similar extent as those for text documents
Summary
In the current global pandemic of Covid-19, teaching has moved even further into the online space. Students complete a number of assignments at home and send them to their teachers for review. It is necessary to objectively ensure that the student prepares the assignments independently and does not copy parts of the work of other students or has not misused the finished works found on the Internet. With several thousand assignments per semester, the manual check of the work originality is very lengthy and, it is not always possible to detect fraudulent student behavior. We have encountered many cases of various frauds when some students wanted to make it easier to complete the course. In the subjects dealing with programming, especially teaching the basics of object-oriented programming, we encounter several such
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.