| Static extraction of sound hierarchical runtime object graphs |
| Full text |
Pdf
(666 KB)
|
Source
|
Types In Languages Design And Implementation
archive
Proceedings of the 4th international workshop on Types in language design and implementation
table of contents
Savannah, GA, USA
SESSION: Session 2
table of contents
Pages 51-64
Year of Publication: 2009
ISBN:978-1-60558-420-1
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 9, Downloads (12 Months): 53, Citation Count: 0
|
|
|
ABSTRACT
For many object-oriented systems, it is often useful to have a runtime architecture that shows networks of communicating objects. But it is hard to statically extract runtime object graphs that provide architectural abstraction from existing programs written in general purpose languages, and that follow common design idioms. Previous approaches extract low-level non-hierarchical object graphs that do not provide architectural abstraction, change the language too radically for many existing implementations, or use a dynamic analysis. Static analysis, which takes all possible executions into account, is essential to extract a sound architecture, one that reveals all objects 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 68 KLOC of real code.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
M. Abi-Antoun and J. Aldrich. Compile-Time Views of Execution Structure Based on Ownership. In IWACO, 2007. Informal workshop.
|
| |
2
|
M. Abi-Antoun and J. Aldrich. A Field Study in Static Extraction of Runtime Architectures. In PASTE, 2008.
|
| |
3
|
M. Abi-Antoun and J. Aldrich. Static Extraction of Sound Hierarchical Runtime Object Graphs. Technical Report CMU-ISR-08-127, Carnegie Mellon University, 2008.
|
| |
4
|
J. Aldrich and C. Chambers. Ownership Domains: Separating Aliasing Policy from Mechanism. In ECOOP, 2004.
|
 |
5
|
|
| |
6
|
D. F. Bacon and P. F. Sweeney. Fast Static Analysis of C Virtual Function Calls. In OOPSLA, 1996.
|
 |
7
|
Jan Vitek , Boris Bokowski, Confined types, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.82-96, November 01-05, 1999, Denver, Colorado, United States
|
 |
8
|
David G. Clarke , John M. Potter , James Noble, Ownership types for flexible alias protection, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.48-64, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
9
|
P. Clements et al. Documenting Software Architecture. Addison-Wesley, 2003.
|
| |
10
|
C. Flanagan and S. N. Freund. Dynamic Architecture Extraction. In FLoC FATES-RV, 2006.
|
| |
11
|
T. Hill, J. Noble, and J. Potter. Scalable Visualizations of Object-Oriented Systems with Ownership Trees. J. Visual Languages and Computing, 13(3), 2002.
|
| |
12
|
|
| |
13
|
|
| |
14
|
P. Lam and M. Rinard. A Type System and Analysis for the Automatic Extraction and Enforcement of Design Information. In ECOOP, 2003.
|
| |
15
|
|
 |
16
|
|
| |
17
|
N. Mitchell. The Runtime Structure of Object Ownership. In ECOOP, 2006.
|
| |
18
|
|
| |
19
|
|
| |
20
|
|
| |
21
|
D. Rayside, L. Mendel, and D. Jackson. A Dynamic Analysis for Revealing Object Ownership and Sharing. In WODA, 2006.
|
 |
22
|
Derek Rayside , Lucy Mendel , Robert Seater , Daniel Jackson, An analysis and visualization for revealing object sharing, Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, p.11-15, October 16-17, 2005, San Diego, California
[doi> 10.1145/1117696.1117699]
|
 |
23
|
Mooly Sagiv , Thomas Reps , Reinhard Wilhelm, Parametric shape analysis via 3-valued logic, Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.105-118, January 20-22, 1999, San Antonio, Texas, United States
[doi> 10.1145/292540.292552]
|
| |
24
|
|
| |
25
|
|
| |
26
|
A. Spiegel. Automatic Distribution of Object-Oriented Programs. PhD thesis, FU Berlin, 2002.
|
|