The Sherlock plagiarism detection tool has been in use at Warwick for several years. Sherlock can be used for intra-corpal collections of source-code or plain text. The tool supports most procedural and object-oriented languages but specific optimisations have been made for the Java programming language.
The Sherlock tool accepts a set of plain text files and source-code files and then is able to process these to identify similar sections of text or code. The results of this matching process can be visualised and examined to determine whether plagiarism has occurred.
The Sherlock system has also been integrated into the BOSS submission system and used to process programming coursework.
The Sherlock is currently under active development to expand the detection capabilities and ability to interface with other systems.
Mozgovoy, M. and Frederiksson, K. and White, D.R. and Joy, M.S. and Sutinen, E. (2005). "Fast Plagiarism Detection System". In: String Processing and Information Retrieval: 12th International Conference (SPIRE 2005). LNCS (3772). Springer, London, pp. 267-270.
White, D.R. and Joy, M.S. (2004). "Sentence-Based Natural Language Plagiarism Detection". ACM Journal on Educational Resources in Computing, 4 (4). pp. 1-20.
Joy, M.S. and Luck, M. (1999). "Plagiarism in Programming Assignments". IEEE Transactions on Education, 42(2). pp. 129-133. ISSN 0018-9359.
Details of other related publications on plagiarism and student perceptions of plagiarism can be found here.
Available from Sourceforge - http://sourceforge.net/projects/cobalt/