A software re-engineering method using domain models

Jean-Marc DeBaud, Spencer Rugaber · 2002

Current software reengineering technology is typically based on program analysis methods such as parsing and data flow analysis. This is inadequate for two reasons. First, such methods inherently fail to capture the context or purpose of the program. Second, the results of the program comprehension are not directly usable in program evolution. We introduce a method that addresses both of these problems. We use a domain model to understand the context of a program and an object oriented framework to record that understanding. The main step of this method consists of the construction of an executable domain model whose scope covers a family of target programs. A program is then reverse engineered using the domain model both as a guide and as a recording medium. In the last step, developers reengineer the target artifact using its abstract domain driven representation. We present a thorough example to illustrate this approach. Issues raised by the confluence of domain analysis and representation, reverse engineering, and artifact evolution are discussed. Implications on future work in the area are suggested.

Read the paper · More papers on PaperTik