[racket] structural program comparison tool in Racket

From: Yin Wang (yinwang0 at gmail.com)
Date: Fri Sep 14 22:48:26 EDT 2012

It looks fun.

"We are not afraid that students would try to tune their work to the
similarity tester. We reckon if they can do that they can also do the

I used a tool called MOSS from Alex Aiken for detecting plagiarism in
programming class, but it was not open source.

I guess I need a more efficient algorithm for finding the "moved"
code. Currently it is recursive and very slow. I guess techniques used
in "common subexpression elimination" may help.

-- Yin

On Sat, Sep 15, 2012 at 10:33 AM, Hendrik Boom <hendrik at topoi.pooq.com> wrote:
> On Fri, Sep 14, 2012 at 04:34:21AM +0800, Yin Wang wrote:
>> Hello,
>> I'm developing a tool for "diffing" program by parse trees and not
>> text. It is written in Racket and can process Lisp family languages,
>> C++, JavaScript and Python. It has a JavaScript based interactive UI
>> for browsing the diff results.
> You might also be interested in looking at the software similarity
> tester written by Dick Grune, which is linked from his web page at
> http://www.dickgrune.com/
> -- hendrik
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users

Posted on the users mailing list.