Discovering plagiarism in entry level programming assignments

University essay from KTH/Skolan för datavetenskap och kommunikation (CSC)

Abstract: Plagiarism in programming assignments has been a problem for a long time, and while the schools try to stop it, it is an ever ongoing game of cat and mouse between students and the schools. When students find new ways to hide their plagiarism, others develop new tools to find it again. This thesis looks specifically at plagiarism in entry level coding assignments, where the code is usually much simpler, and if it is possible to use the structure of the program code to detect plagiarism. The structural properties chosen is the abstract syntax tree for the code along with the codes call graph. The syntax tree contains the programs general structure and the call graphs are used in an attempt to find plagiarism where plagiarized code has been split up in smaller parts. For comparison a well established algorithm called MOSS is used. The results shows that the abstract syntax tree and call graph can be used to identify plagiarism, but it seems it is not worth the additional effort needed to use algorithms based on program structure, as it seems the plagiarism done for these assignments is quite simplistic. Additional research should instead be done to find out more on how students actually cheat in these entry level assignments and develop methods to counter those specifically.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)