Abstract

System comprehension is a prerequisite for software maintenance and evolution, but it is a time-consuming and costly activity. In an effort to support system comprehension, researchers have devised many different reverse engineering techniques. Several of these are based on statically analyzing the source code. A purely static perspective, however, overlooks valuable semantic knowledge of a system's problem domain. To address this problem, several researchers have identified thee potential of exploiting features in a reverse engineering context. Features are well-understood abstractions of a problem domain. As such, they represent a valuable resource for reverse engineering a system, as they encapsulate knowledge of a problem domain and denote units of system behavior. The main body of feature-related reverse engineering research is concerned with feature identification, a technique to map features to source code. To fully exploit features in reverse engineering, however, we need to extend the focus beyond feature identification and exploit features as primary units of analysis. We formulate our thesis as follows: To exploit the domain knowledge for object-oriented system comprehension, we need to model features, their relationships to source artefacts, and their relationships to each other. The main contribution of our work is twofold: on the one hand, we enrich reverse engineering analysis of object-oriented systems with semantic knowledge of features, and on the other hand, we introduce new techniques that treat features as the primary entities of analysis A further contribution is our definition of Dynamix, a model for expressing feature entities in the context of a structural model of source code. Using case studies, we demonstrate how our analysis techniques exploit feature knowledge to establish traceability between the problem and solution domains throughout the life-cycle of a system.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call