Clone Digger: the tool for finding software clones; Google Summer of Code 2008 participant

Peter Bulychev peter.bulychev at gmail.com
Mon Mar 24 13:23:34 CET 2008


Hello

I'm happy to announce the first release of Clone Digger tool (1.0-beta).

Some background on software clones
======================
Two continuous fragments of code form clone if they are similar enough.
The presence of clones can greatly increase the software maintenance
cost. For instance, every error in the original have to be fixed in
all copies.

What is it
======================
Clone Digger is the tool for finding software clones (duplicate code)
in programs.
Currently Python language is supported, Java support will be added later.
The following definition of clone is used: two sequences of statements
form clone if one of it can be obtained from the other by replacing some
subtrees of its abstract syntax tree by other subtrees.
Found clone candidates are reported to the HTML with a highlighting of
differences.
This report can be used to form recommendations for refactoring.

License
======================
Clone Digger is provided under the GPL license.

Links
======================
Project site: http://clonedigger.sourceforge.net
Download: http://clonedigger.sourceforge.net/download.html
Clone Digger was tested on Python 2.4 and 2.5.

To my knowledge Clone Digger is the first tool that finds software
clones in Python sources (excluding tools working on the pure text
level). I hope that Clone Digger will be very useful for the Python
community.

p.s.
Clone Digger participates in the Google Summer of Code 2008 program. I
am looking for a student willing to work on code analysis and
refactoring. The project ideas are listed here:
http://clonedigger.sourceforge.net/google_summer_of_code.html

<P><A HREF="http://clonedigger.sourceforge.net">Clone Digger
1.0-beta</A> - the tool for finding software clones in Python
programs.  (23-March-2008) </P>

-- 
Best regards,
   Peter Bulychev.


More information about the Python-announce-list mailing list