Beyond plagiarism: An active learning method to analyze causes behind code-similarity

Code-similarity is the actual indicator of plagiarism in the context of programming assignments. However, the experiences of practical software development have empirically confirmed the existences of other causes for code-similarity. Existing practices usually overemphasis the casual relationship between code-similarity and plagiarism, but ignore the importance to make students understand other causes that also contribute to code-similarity. This paper presents an active learning method to involve students and instructors collaboratively in finding causes of code-similarity occurred in programming assignments. The result shows that most causes occurred in programming assignments are positive. Students can learn the different causes of code-similarity with pros and cons during conducting the active learning method.

[1]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[4]  J. Paul Gibson Software reuse and plagiarism: a code of practice , 2009, ITiCSE '09.

[5]  Philip S. Yu,et al.  GPLAG: detection of software plagiarism by program dependence graph analysis , 2006, KDD '06.

[6]  Shinji Kusumoto,et al.  CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code , 2002, IEEE Trans. Software Eng..

[7]  James O. Hamblen,et al.  Computer algorithms for plagiarism detection , 1989 .

[8]  Hwan-Gue Cho,et al.  A source code linearization technique for detecting plagiarized programs , 2007, ITiCSE.

[9]  Scott R. Klemmer,et al.  Example-centric programming: integrating web search into the development environment , 2010, CHI.

[10]  Selby Markham,et al.  Is it okay to cheat? - the views of postgraduate students , 2001 .

[11]  Kôki Abe,et al.  A microcomputer implementation of PLA function and its use in a laboratory dealing with arithmetic algorithms , 1989 .

[12]  Giuliano Antoniol,et al.  Comparison and Evaluation of Clone Detection Tools , 2007, IEEE Transactions on Software Engineering.

[13]  Roger Bennett,et al.  Factors associated with student plagiarism in a post‐1992 university , 2005 .

[14]  Michael Luck,et al.  Plagiarism in programming assignments , 1999 .

[15]  Stan Jarzabek,et al.  A Data Mining Approach for Detecting Higher-Level Clones in Software , 2009, IEEE Transactions on Software Engineering.

[16]  Mike Joy,et al.  Towards a Definition of Source-Code Plagiarism , 2008, IEEE Transactions on Education.

[17]  Chris DiBona,et al.  Open Sources: Voices from the Open Source Revolution , 1999 .

[18]  Francisco Rosales,et al.  Detection of Plagiarism in Programming Assignments , 2008, IEEE Transactions on Education.