Dex: A Semantic-Graph Differencing Tool for Studying Changes in Large Code Bases

  • Authors:
  • Shruti Raghavan;Rosanne Rohana;David Leon;Andy Podgurski;Vinay Augustine

  • Affiliations:
  • Case Western Reserve University;Case Western Reserve University;Case Western Reserve University;Case Western Reserve University;Case Western Reserve University

  • Venue:
  • ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes an automated tool called Dex (Difference extractor) for analyzing syntactic and semantic changes in large C-language code bases. It is applied to patches obtained from a source code repository, each of which comprises the code changes made to accomplish a particular task. Dex produces summary statistics characterizing these changes for all of the patches that are analyzed. Dex applies a graph differencing algorithm to abstract semantic graphs (ASGs) representing each version. The differences are then analyzed to identify higher-level program changes. We describe the design of Dex, its potential applications, and the results of applying it to analyze bug fixes from the Apache and GCC projects. The results include detailed information about the nature and frequency of missing condition defects in these projects.