Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/SCAM.2014.42guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Are Object Graphs Extracted Using Abstract Interpretation Significantly Different from the Code?

Published: 28 September 2014 Publication History

Abstract

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.

Cited By

View all
  • (2016)RaindroidProceedings of the Symposium and Bootcamp on the Science of Security10.1145/2898375.2898389(115-117)Online publication date: 19-Apr-2016
  • (2015)An architecture style for Android security analysisProceedings of the 2015 Symposium and Bootcamp on the Science of Security10.1145/2746194.2746209(1-2)Online publication date: 21-Apr-2015
  • (2014)The eclipse runtime perspective for object-oriented code exploration and program comprehensionProceedings of the 2014 Workshop on Eclipse Technology eXchange10.1145/2688130.2688133(3-8)Online publication date: 21-Oct-2014
  1. Are Object Graphs Extracted Using Abstract Interpretation Significantly Different from the Code?

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    SCAM '14: Proceedings of the 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation
    September 2014
    316 pages
    ISBN:9781479961481

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 28 September 2014

    Author Tags

    1. abstract interpretation
    2. object graphs
    3. object-oriented metrics
    4. runtime structure

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 20 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)RaindroidProceedings of the Symposium and Bootcamp on the Science of Security10.1145/2898375.2898389(115-117)Online publication date: 19-Apr-2016
    • (2015)An architecture style for Android security analysisProceedings of the 2015 Symposium and Bootcamp on the Science of Security10.1145/2746194.2746209(1-2)Online publication date: 21-Apr-2015
    • (2014)The eclipse runtime perspective for object-oriented code exploration and program comprehensionProceedings of the 2014 Workshop on Eclipse Technology eXchange10.1145/2688130.2688133(3-8)Online publication date: 21-Oct-2014

    View Options

    View options

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media