Diff/TS: A Tool for Fine-Grained Structural Change Analysis

  • Authors:
  • Masatomo Hashimoto;Akira Mori

  • Affiliations:
  • -;-

  • Venue:
  • WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper reports on a tool for fine-grained analysis of structuralchanges made between revisions of programs. The tool, calledDiff/TS, calculates, visualizes and classifies edit operationsincluding ``moves'' that will change one revision into another bymeans of detailed tree structural analysis on source code. Suchanalysis tends to be time consuming and inflexible. We haveextended a general tree comparison algorithm with heuristics drivencontrol configurable for multiple programming languages and haveachieved both processing speed and analysis precision needed forinvestigating large-scale software projects. The tool is capable ofprocessing Python, Java, C and C++ projects. We present severalapplications including software ``archaeology'' on a widely known opensource software project and automated ``phylogenetic'' malwareclassification based on control flows. These examples suggest thattree differencing is useful for measuring distance or dissimilaritybetween tree structured artifacts, and offer good precision tests ofthe method.