Smiley face MORALE


Mission Oriented Architectural
Legacy Evolution
Domain Analysis and Reverse Engineering

Tool Description


The DOWSER framework integrates Domain Analysis and reverse engineering.


DOWSER identifies user basic user interaction tasks and associated attributes from legacy code by applying static program understanding techniques, including control and data flow analysis, and pattern matching. The resulting model can then be used to transform the abstractions in the model to a specific graphical widget toolkit.

The DOWSER reengineering process consists of three steps:

  1. Detection - Analyzing source code to identify the user interface components in the legacy system.
  2. Representation - Building a model of the existing user interface from the detection step.
  3. Transformation - Manipulating, augmenting, and restructuring the resulting model to allow forward engineering to a graphical environment.
Input from the human analyst is supported in order to refine the model and make judgment decisions in the representation and transformation stages. The transformation stage allows specific graphical implementations to be chosen and integrated into the legacy code.


This prototype toolset is currently under development. The initial version of the control flow analyzer, data flow analyzer, and rule-based detection engine are currently being completed (using the Refine tools). The knowledge base used in the transformation step is completed (implemented in the CLASSIC knowledge representation).

The DOWSER method is currently being validated by applying it to a series of legacy applications, including a small pilot database application, and scalability validation on larger programs such as WELTAB III.

You may download a copy of the Dowser as a 122,880-byte tar file.

Operating System Dependencies:

DOWSER currently runs on Solaris, and processes C programs.

Platform Dependencies:

The tools are being developed and tested on a Sun SPARC platform (SPARC-20)

COTS Dependencies:

The Software Refinery (Refine languge and Refine-C), Motif 1.2, tcl 7.6, tk 4.2p2, and the CLASSIC knowledge representation and tools (from AT&T Bell Labs).


DOWSER Product Brochure

Documentation is not yet publicly available, but will be when the first version of the prototype is completed.

Point of Contact:

This page last modified on 8 July 1999.