Computer · 1989 · 363 citations · 11 references
ComputingDesignDesign AutomationSoftware EngineeringSystems ArchitectureModel-driven Software EngineeringReverse EngineeringSoftware ArchitectureSoftware DesignSoftware MaintenanceSoftware ReuseArchitecture RecoveryAssistanceDesign ReuseReuse In Software EngineeringSoftware Reverse Engineering
Software maintenance and harvesting reusable components from software both require that an analyst reconstruct the software's design. Design recovery recreates design abstractions from a combination of code, existing design documentation (if available), personal experience and general knowledge about problem and application domains. The author shows how to extend the automated assistance available to the software engineer for this process. He explains the concept of design recovery, proposes an architecture to implement the concept, illustrates how the architecture operates, describes progress toward implementing it, and compares this work with other similar work such as reverse engineering and program understanding. Much of the discussion is based on a model-based design recovery system called Desire.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
11
What is object-oriented programming?
Bjarne Stroustrup · IEEE Software · 1988 · 226 citations
The Programmer's Apprentice: a research overview
Charles Rich, Richard C. Waters · Computer · 1988 · 214 citations
Computing, Computer Science, Design +17
Artificial Intelligence · 1990 · 132 citations · Full text