Publication | Closed Access
Software reflexion models: bridging the gap between design and implementation
391
Citations
34
References
2001
Year
Software MaintenanceEngineeringSoftware EngineeringSoftware EngineerSoftware AnalysisSoftware ArchitectureSocial SciencesReflexion Model TechniqueStructural Mental ModelEmpirical Software Engineering ResearchSystems EngineeringModel-based Software DevelopmentSoftware PracticeSoftware AspectSoftware Re-engineeringSoftware Architecture ModelingSoftware ImplementationDesignSoftware Reflexion ModelsSoftware DesignCode RefactoringArchitectural DesignProgram AnalysisSoftware TestingSystem Software
Software artifacts often drift apart over time. The study aims to formally characterize the reflexion model technique, discuss its practical aspects, relate application experiences, and situate it within related work. The technique compares design and implementation artifacts by summarizing consistencies and inconsistencies, enabling engineers to evolve a structural mental model sufficient for task‑specific reasoning. The software reflexion model technique was developed to exploit design‑implementation drift for engineering tasks and has been applied to design conformance, change assessment, and reengineering of Microsoft Excel.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1