Software reflexion models: bridging the gap between design and implementation
Top Cited Papers
- 1 April 2001
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. 27 (4) , 364-380
- https://doi.org/10.1109/32.917525
Abstract
The artifacts constituting a software system often drift apart over time. We have developed the software reflexion model technique to help engineers perform various software engineering tasks by exploiting, rather than removing, the drift between design and implementation. More specifically, the technique helps an engineer compare artifacts by summarizing where one artifact (such as a design) is consistent with and inconsistent with another artifact (such as source). The technique can be applied to help a software engineer evolve a structural mental model of a system to the point that it is "good enough" to be used for reasoning about a task at hand. The software reflexion model technique has been applied to support a variety of tasks, including design conformance, change assessment, and an experimental reengineering of the million-lines-of-code Microsoft Excel product. We provide a formal characterization of the reflexion model technique, discuss practical aspects of the approach, relate experiences of applying the approach and tools, and place the technique into the context of related work.Keywords
This publication has 20 references indexed in Scilit:
- An empirical study of static call graph extractorsACM Transactions on Software Engineering and Methodology, 1998
- A unified framework for expressing software subsystem classification techniquesJournal of Systems and Software, 1997
- Reengineering with reflexion models: a case studyComputer, 1997
- Lightweight lexical source model extractionACM Transactions on Software Engineering and Methodology, 1996
- AspectACM Transactions on Software Engineering and Methodology, 1995
- Architectural tradeoffs for a meaning-preserving program restructuring toolIEEE Transactions on Software Engineering, 1995
- Extensibility safety and performance in the SPIN operating systemPublished by Association for Computing Machinery (ACM) ,1995
- Structural redocumentation: a case studyIEEE Software, 1995
- A memory-based approach to recognizing programming plansCommunications of the ACM, 1994
- LaSSIECommunications of the ACM, 1991