Recovering Behavioral Design Views: a Query-Based Approach
Options
BORIS DOI
Date of Publication
May 2002
Publication Type
thesis
Contributor
Richner, Tamar |
Language
English
Description
The reality of software development is such that engineers must often perform maintenance tasks with missing or out-of-date documentation and without the support of the original developers. To understand the software as it is now, engineers use reverse engineering tools to recover information from the code itself. Most such tools analyze only static information about the system and so provide engineers with structural, rather than behavioral models. It is, however, critical to understand the behavioral aspect of the software system in order to carry out certain maintenance tasks. To better understand program behavior engineers turn to tools which use dynamic information collected during program execution. Such tools typically display all the dynamic information at very fine granularity, making it difficult to extract manageable models of behavior. They then rely on visualization and navigation techniques to help the engineer locate information relevant to the change task. In this dissertation we propose an approach to recovering behavioral models from object-oriented software which is based on perspectives. Our approach enables an engineer to declaratively define perspectives through which the dynamic information can be viewed. It supports an iterative recovery process in which successive views of the software system help the engineer to answer questions related to the maintenance task to be performed. We claim that such an approach can overcome the difficulties of recovering succinct and focused views of object-oriented software from dynamic information. A perspective is a model of the kind of information that an engineer is interested in. Our approach supports the construction of principally two kinds of such models: component-connector models and collaboration models. We first identify a meta-model for describing object-oriented software and its execution, then develop a simple declarative way to express perspectives in terms of this meta-model: component-connector perspectives express a range of static groupings and dynamic relations; collaboration perspectives abstract from execution sequences to class collaborations. Using case studies we demonstrate the validity of our approach by showing how perspectives are used in an iterative process to recover both high-level and low-level succinct behavioral views.
Official URL
File(s)
File | File Type | Format | Size | License | Publisher/Copright statement | Content | |
---|---|---|---|---|---|---|---|
richner-phd.pdf | text | Adobe PDF | 899.6 KB | publisher | published |