Plagiarism Detection for Haskell with Holmes

April 2013, CSERC 13

Holmes is a plagiarism detection tool for Haskell programs. In this paper, we describe Holmes and show that it can detect plagiarism in a substantial corpus (2,122 Haskell submissions spread over 18 different assignments) of Haskell programs submitted by undergraduate students in a undergraduate level functional programming course over a period of ten years, and consider its sensitivity to superficial changes in the source code.


HOLMES: Hunting for Haskell Frauds (Master Thesis)

February 2010, Utrecht University

For the functional programming language Haskell there is no specific tool available to compare source code for plagiarism. Other, more used, programming languages like Java do have tool support for checking plagiarism. Especially for educational institutes it would be convenient to have tool support for checking large batches of submissions for plagiarism. When checking Haskell submission for plagiarism it is important first to discover how we can achieve that. What do we need to compare, how do we compare it and can we automate this procedure.