| Publication Title: |
A Type System and Analysis for the Automatic Extraction and Enforcement of Design Information |
| Publication Author: |
Lam, Patrick |
| Additional Authors: |
Martin Rinard |
| LCS Document Number: |
MIT-LCS-TR-874 |
| Publication Date: |
12-5-2002 |
| LCS Group: |
Computer Architecture |
| Additional URL: |
|
| Abstract: |
| We present a new type system and associated type checker, analysis, and
model extraction algorithms for automatically extracting models that
capture aspects of the design of the program. Our type system enables the
developer to place a _token_ on each object; this token serves as the
object's representative during the analysis and model extraction. The
polymorphism in our type system enables the use of general-purpose classes
whose instances may serve different purposes in the computation;
programmers may also hide the details of internal data structures by
placing the same token on all of the objects in these data structures.
Our combined type system and analysis provide the model extraction
algorithms with sound heap aliasing information. Our algorithms can
therefore extract both structural models that characterize object
referencing relationships and behavioral models that capture indirect
interactions mediated by objects in the heap. Previous approaches, in
contrast, in the absence of aliasing information, have focused on
control-flow interactions that take place at procedure call boundaries.
We have implemented our type checker, analysis, and model extraction
algorithms and used them to produce design models. Our experience
indicates that it is straightforward to produce the token annotations and
that the extracted models provide useful insight into the structure and
behavior of the program. |
| To obtain this publication: |
|
|
|
To purchase a printed copy of this publication please contact
MIT
Document Services.
|