Title :
Diff/TS: A Tool for Fine-Grained Structural Change Analysis
Author :
Hashimoto, Masatomo ; Mori, Akira
Author_Institution :
Nat. Inst. of Adv. Ind. Sci. & Technol., Tokyo
Abstract :
This paper reports on a tool for fine-grained analysis of structural changes made between revisions of programs. The tool, called Diff/TS, calculates, visualizes and classifies edit operations including "moves\´\´ that will change one revision into another by means of detailed tree structural analysis on source code. Such analysis tends to be time consuming and inflexible. We have extended a general tree comparison algorithm with heuristics driven control configurable for multiple programming languages and have achieved both processing speed and analysis precision needed for investigating large-scale software projects. The tool is capable of processing Python, Java, C and C++ projects. We present several applications including software "archaeology\´\´ on a widely known open source software project and automated "phylogenetic\´\´ malware classification based on control flows. These examples suggest that tree differencing is useful for measuring distance or dissimilarity between tree structured artifacts, and offer good precision tests of the method.
Keywords :
configuration management; data flow graphs; invasive software; pattern classification; program diagnostics; program visualisation; software maintenance; text editing; tree data structures; C project; C++ project; Diff/TS tool; Java project; Python project; control flow graph; fine-grained structural change analysis; large-scale software project; open source software project; phylogenetic malware classification; program edit operation; program revision; program visualization; programming language; software archaeology; source code tree structural analysis; Algorithm design and analysis; Automatic control; Classification tree analysis; Computer languages; Heuristic algorithms; Java; Large-scale systems; Open source software; Software algorithms; Visualization;
Conference_Titel :
Reverse Engineering, 2008. WCRE '08. 15th Working Conference on
Conference_Location :
Antwerp
Print_ISBN :
978-0-7695-3429-9
DOI :
10.1109/WCRE.2008.44