Richner, Tamar (2002). Recovering Behavioral Design Views: a Query-Based Approach. (Dissertation, University of Bern, Philosophisch-naturwissenschaftliche Fakultät)
Text
richner-phd.pdf - Published Version Restricted to registered users only Available under License Publisher holds Copyright. Download (921kB) |
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.
Item Type: |
Thesis (Dissertation) |
---|---|
Division/Institute: |
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued] |
Language: |
English |
Submitter: |
Anja Ebeling |
Date Deposited: |
29 Jan 2018 17:11 |
Last Modified: |
11 Apr 2024 16:11 |
BORIS DOI: |
10.7892/boris.104728 |
URI: |
https://boris.unibe.ch/id/eprint/104728 |