Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

A Case Study in Extracting the Runtime Architecture of an Object-Oriented System

Summary: A Case Study in Extracting the Runtime
Architecture of an Object-Oriented System
Marwan Abi-Antoun Zeyad Hailat
April 2011
SoftwarE Visualization and Evolution REsearch group (SEVERE)
Wayne State University
Detroit, MI 48202
Many legacy systems benefit from having an up-to-date documented runtime architecture. But it is hard
to statically extract a sound hierarchal runtime architecture from a legacy object-oriented system that is
written in a general-purpose programming language and that follows common design idioms, so many have
preferred dynamic analyses. Abi-Antoun and Aldrich recently developed a static analysis to extract runtime
architectures from legacy object-oriented programs written in a mainstream language. The approach relies on
adding annotations to the code, and statically extracts a hierarchical object graph from the annotated code.
The annotations implement a type system, so a typechecker can check that the annotations are consistent
with each other and with the code. We present a case study to evaluate the method and the tools on a
36-KLOC system that is in wide use and is actively evolving.
We developed a tool to reduce the annotation burden by generating the initial set of annotations. Then, we
used a typechecker to check the annotations, and manually fixed the annotation warnings. We then extracted
a hierarchical object graph, which we refined on our own, before showing it to the system maintainer. The


Source: Abi-Antoun, Marwan - Department of Computer Science, Wayne State University


Collections: Computer Technologies and Information Sciences