GUGC (Griffith University Gold Coast) had a similar thing in place 10 years ago. It was used for COBOL assignments, but could be adapted to other languages. It compared literal blocks of text, parse trees, variable names etc. I'm pretty sure Colin Thorne wrote it. You could take a program, cut it into sections, remname large chunks, move things around and it would assign a correlation with other works in the class.
You could then set 'honeypots' up and see if there was a pattern of collusion or plagiarism.
One possible prior art would be the Jupiter Project at Xerox Parc ( see ftp://parcftp.xerox.com/pub/MOO/papers/JupiterAV.p s). The paper given above is from a 1995 ACM Conference. Pavel Curtis and friends describe a 3D virtual reality world that is scalable, uses 3D graphics, has elements from chat and MOOs, could be used for ECommerce etc.
I think most of the work was done by 1992, but it's a long time since I read the paper... there are heaps of documents about the project, but you have to dig a bit.
GUGC (Griffith University Gold Coast) had a similar thing in place 10 years ago. It was used for COBOL assignments, but could be adapted to other languages. It compared literal blocks of text, parse trees, variable names etc. I'm pretty sure Colin Thorne wrote it. You could take a program, cut it into sections, remname large chunks, move things around and it would assign a correlation with other works in the class.
You could then set 'honeypots' up and see if there was a pattern of collusion or plagiarism.
I think most of the work was done by 1992, but it's a long time since I read the paper... there are heaps of documents about the project, but you have to dig a bit.