Visible to the public Are Object Graphs Extracted Using Abstract Interpretation Significantly Different from the Code?Conflict Detection Enabled

TitleAre Object Graphs Extracted Using Abstract Interpretation Significantly Different from the Code?
Publication TypeConference Proceedings
Year of Publication2014
AuthorsMarwan Abi-Antoun, Sumukhi Chandrashekar, Radu Vanciu, Andrew Giang
Conference NameSCAM '14 Proceedings of the 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation
Date Published09/2014
PublisherIEEE Computer Society Washington, DC, USA ©2014
Conference LocationVictoria, British Columbia, Canada
KeywordsCMU, Oct'14

To evolve object-oriented code, one must understand both the code structure in terms of classes, and the runtime structure in terms of abstractions of objects that are being created and relations between those objects. To help with this understanding, static program analysis can extract heap abstractions such as object graphs. But the extracted graphs can become too large if they do not sufficiently abstract objects, or too imprecise if they abstract objects excessively to the point of being similar to a class diagram, where one box for a class represents all the instances of that class. One previously proposed solution uses both annotations and abstract interpretation to extract a global, hierarchical, abstract object graph that conveys both abstraction and design intent, but can still be related to the code structure. In this paper, we define metrics that relate nodes and edges in the object graph to elements in the code structure, to measure how they differ, and if the differences are indicative of language or design features such as encapsulation, polymorphism and inheritance. We compute the metrics across eight systems totaling over 100 KLOC, and show a statistically significant difference between the code and the object graph. In several cases, the magnitude of this difference is large.

Citation Keynode-30121

Other available formats:

Abi-Antoun_Are_Object_Graphs_Extracted.pdfPDF document397.7 KBDownloadPreview