Institute for Software Research
School of Computer Science, Carnegie Mellon University
Static Static Extraction of Object-Oriented
Marwan Abi-Antoun, Jonathan Aldrich
A shorter version of this report will appear as
Static analysis, which takes all possible executions into account, is essential to extract a sound architecture, one that reveals all entities and relations that could possibly exist at runtime. Ownership domain type annotations specify in code architectural intent related to object encapsulation and communication. We propose a static analysis that leverages such types and extracts a hierarchical approximation of all possible runtime object graphs. The representation provides architectural abstraction, first by ownership hierarchy, and then by types. We proved core soundness results for the technique and evaluated it on several extended examples of medium-sized representative programs that we annotated manually.