Summary: Static Conformance Checking of Runtime
Marwan Abi-Antoun Jonathan Aldrich
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213
It is hard to statically check a system's conformance to its runtime architectural structure. Previous ap-
proaches address the code architecture, change the language radically, mandate implementation frameworks,
or use dynamic analyses that cannot check all possible program runs.
We propose a static approach that supports existing object-oriented implementations, but relies on program
annotations to encode architectural intent. We statically extract a hierarchical view of the runtime object
graph from the annotated program and map it into an as-built runtime architecture. We then check and
measure the structural conformance of the as-built and the as-designed architectures.
An evaluation on several systems showed that the approach can identify interesting structural non-
1This technical report supersedes the earlier technical report CMU-ISRI-07-119, entitled Checking and Measuring the Ar-
chitectural Structural Conformance of Object-Oriented Systems.