Assisting an Experimental Reengineering of Excel with Reflexion Models

Gail C. Murphy and David Notkin

Technical Report UW-CSE-96-07-01, Department of Computer Science and Engineering, University of Washington, Seattle WA.

Postscript version]>

Abstract

To perform most software engineering tasks on an existing system effectively, a software engineer needs to have some understanding of the system's source. It is often difficult for an engineer to gain this understanding because the systems are large and complex and because the tasks must be performed under fixed time and cost constraints. We developed the software reflexion model technique to help an engineer faced with this challenge. In essence, this technique allows an engineer to use a task-specific, high-level model as a lens through which to view the source for a system. The technique is lightweight and iterative, allowing the engineer to balance the cost of applying the technique with the benefits of the information acquired.

A software engineer at Microsoft Corporation applied this technique to aid with an experimental reengineering of the Excel product, which comprises about 1.2 million lines of C code. Using the technique, the Microsoft engineer was able to assess and plan the task more rapidly and with more confidence than promised by conventional techniques. This paper presents the case study, describing the feasibility of our technique to handle scale, and providing insights into the kinds of source information useful to an engineer working on a large reengineering task in an industrial environment.


Back to Gail Murphy's Selected Publications Page

Last modified: June 28, 1996

Gail Murphy
murphy@cs.ubc.ca