Dex: a semantic-graph differencing tool for studying changes in large code bases
Raghavan, S.; Rohana, R.; Leon, D.; Podgurski, A.; Augustine, V.
Software Maintenance, 2004. Proceedings. 20th IEEE International Conference on
Volume , Issue , 11-14 Sept. 2004 Page(s): 188 - 197
Digital Object Identifier 10.1109/ICSM.2004.1357803
Summary: 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.
View citation and abstract |