Visible to the public Extracting Dataflow Objects and other Flow ObjectsConflict Detection Enabled

TitleExtracting Dataflow Objects and other Flow Objects
Publication TypeConference Proceedings
Year of Publication2013
AuthorsRadu Vanciu, Marwan Abi-Antoun
Conference NameFoundations of Object-Oriented Languages (FOOL) 2013
Date Published10/2013
Keywordsarchitectural extraction, CMU, domainsensitivity, hierarchical object graphs, ownership types, static analysis

Finding architectural flaws in object-oriented code requires a runtime architecture that shows multiple components of the same type that are used in different contexts. Previous work showed that a runtime architecture can be approximated by an abstract object graph that a static analysis extracts from code with Ownership Domain annotations. To find architectural flaws, it is not enough to reason about the presence or absence of communication. Additional work is needed to reason about the content of the communication. The contribution of this paper is a static analysis that extracts a hierarchical object graph with dataflow edges that refer to objects. The extraction analysis combines the aliasing precision provided by Ownership Domains with a domainsensitive value flow analysis. We evaluate the extraction analysis on an open-source Android application and discuss examples of dataflow edges that refer to objects that are in actual domains or to flow objects that are in domains corresponding to unique annotations.

Citation Keynode-30074

Other available formats: