(C) victorinox
 tools


[home]...[tools]...[my talks]...[my publications]...Videos!


Here you can find a set of tool I'm working on, related to support software evolution analysis and development...

PARACNE

Aracne is a tool that applies an information theoretical approach to reconstructs the gene regulatory network of an organism (Califano lab). It is based on the measure of mutual information between the expression profiles of a number of microarray experiments. For high level organisms, the number of genes may be very high (i.e. about 45k probes for Affymetrix HG-U133 chip). The original version of aracne may need a huge amount of time to compute the mutual information between all gene pairs. Paracne is a parallel version of aracne that drastically reduce the computation time and make the discovery of regulatory dependencies feasible also for high level organisms.

download src: paracne.perl To install just copy the script within the same directory of aracne

miners

Miners are a set of CVS/SVN extraction tools... not well documented but quite simple to use.

download: miners.tgz (v. 0.1)

Differencing Algorithm

Unix diff command shows the difference between two text files as a set of added and deleted hunks. It is not obvious that such hunks are really additions and deletions performed by a developer, as some of them could be the changed version of another. The linediff tool is a perl script that finds such changed lines by using a two step algorithm based on coarse and fine grained similarity measures.

download (from SourceForge): ldiff.pl Support ldiff Project

references:

  • Gerardo Canfora, Luigi Cerulo, Massimiliano Di Penta. "Tracking Your Changes: a Language-Independent Approach", IEEE Software - special issue "Mining Software Archives", 26(1), January/February 2009, pages 50-57
  • Gerardo Canfora, Luigi Cerulo, Massimiliano Di Penta. "Identifying Changed Source Code Lines from Version Repositories", In MSR 2007
  • Jimpa

    Jimpa, i.e. Java-impact, is an Eclipse plug-in which identifies the impacted source code from a given change request. The approach implemented in Jimpa starts from a textual description of a change request and exploits information retrieval algorithms to link such description with the set of historical source file revisions impacted by similar past change requests.

    Eclipse update site: http://rcost.unisannio.it/cerulo/jimpa
    Source code: jimpa-src.tgz
    doc: README

    references:

  • Gerardo Canfora and Luigi Cerulo. "Jimpa: An Eclipse Plug-in for Impact Analysis", In CSMR 2006
  • Gerardo Canfora and Luigi Cerulo. "Fine grained indexing of software repositories to support impact analysis", In MSR 2006
  • Gerardo Canfora and Luigi Cerulo. "Supporting change request assignment in open source development", In SAC 2006
  • Gerardo Canfora and Luigi Cerulo. "Impact analysis by mining software and change request repositories", In METRICS 2005
  • xmlDiff

    xmlDiff is an algorithm implemented in Java that computes the similarity between two XML documents considering their maximum common XML subtrees. The output is a measure which consider separately the content, structure, and positional similarity.

    download: xmldiff.tgz

    references:

  • Gerardo Canfora, Luigi Cerulo, Rita Scognamiglio. "Measuring XML document similarity: a case study for evaluating information extraction systems", In METRICS 2004