[plt-scheme] Similarity checking

From: John Clements (clements at brinckerhoff.org)
Date: Sun Jan 25 13:07:48 EST 2009

On Jan 25, 2009, at 10:02 AM, John Clements wrote:

>
> On Jan 25, 2009, at 9:30 AM, Ivanyi Peter wrote:
>
>> Hi all,
>>
>> Maybe someone has developed a code or concept that I could use.
>> I teach quite a few students.
>> They have to write tests and hand in homeworks. It seems to me
>> that nowadays it is a tendency, that they track down who has the
>> same problem and they share the results, the programs.
>> (Recently I have seen quite a few high tech to do this.)
>> They are smart to change for example the variable names and
>> some bits, but of course not the whole program. So I would like
>> some help from a program and check automatically the handed in
>> programs for plagiarism or similarity.
>> Is there any code which can compare Scheme programs? Or maybe
>> compares programs with a subset of Scheme?
>> Has anybody heard or thought about it?
>>
>> I am thinking along the line to parse in the program to have some
>> binary tree, but I am not sure how to do "fuzzy"-style comparison
>> on them.
>>
>> I would appreciate any suggestion.
>
> Check out Alex Aiken's "MOSS" (measure of software similarity)  
> system.  I've used it successfully for several years. It does pretty  
> much exactly what you describe.

In the interest of full disclosure, I should also point out that after  
working successfully for several years, I observed about four months  
ago that it was not working correctly on Scheme code.  I'm optimistic  
that it's now been fixed :).

John Clements
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2484 bytes
Desc: not available
URL: <http://lists.racket-lang.org/users/archive/attachments/20090125/80b4b710/attachment.p7s>

Posted on the users mailing list.