In this paper we discuss how some limitations of current reverse engineering approaches prevent them from recovering architectures effectively from legacy systems. We classify several reverse engineering tools and systems into five distinct frameworks. We then propose a set of requirements for an effective architecture recovery framework which benefits from the main features of those five frameworks and tries to overcome their identified limitations. 1
|
3619
|
Design Patterns: Elements of Reusable Object-oriented Software
– Gamma, Helm, et al.
- 1994
|
|
908
|
Program slicing
– Weiser
- 1984
|
|
376
|
Reverse Engineering and Design Recovery: A Taxonomy
– Chikofsky, C
- 1990
|
|
269
|
Specifying distributed software architectures
– Magee, Dulay, et al.
- 1995
|
|
254
|
Abstractions for software architecture and tools to support them
– Shaw, DeLine, et al.
- 1995
|
|
192
|
Software reflexion models: Bridging the gap between source and high-level models
– Murphy, Notkin, et al.
- 1995
|
|
133
|
Exploting style in architectural design environments
– Garlan, Allen, et al.
- 1994
|
|
111
|
Program understanding and the concept assignment problem
– Biggerstaff, Mitbander, et al.
- 1994
|
|
108
|
An Intelligent Tool for Reengineering Software Modularity
– Schwanke
|
|
92
|
Software aging
– Parnas
- 1994
|
|
91
|
D.E.: Introduction to the special issue on software architecture
– Garlan, Perry
- 1995
|
|
71
|
Programmable reverse engineering
– Tilley, Wong, et al.
- 1994
|
|
59
|
Automated support for legacy code understanding
– Ning, Engberts, et al.
- 1994
|
|
58
|
Procedure calls are the assembly language of software interconnection: connectors deserve first-class status, CMU-SEI
– Shaw
|
|
50
|
KnowledgeBased Program Analysis
– Harandi, Ning
- 1990
|
|
48
|
RH. Monitoring compliance of a software system with its high-level design models
– Sefika, Sane, et al.
- 1996
|
|
45
|
Characteristics of Higher-Level Languages for Software Architecture
– Shaw, Garlan
- 1994
|
|
41
|
Recognizers for Extracting Architectural Features from Source Code
– Harris, Reubenstein, et al.
- 1995
|
|
35
|
Support for maintaining object-oriented programs
– Lejter, Meyers, et al.
- 1992
|
|
28
|
Lightweight source model extraction
– Murphy, Notkin
- 1995
|
|
26
|
A program transformation approach to automating software re-engineering
– Burson, Kotik, et al.
- 1990
|
|
24
|
Reverse Engineering to the Architectural Level
– Harris, Reubenstein, et al.
- 1995
|
|
20
|
DECODE: A Cooperative Environment for Reverse-Engineering Legacy Software
– Quilici, Chin
- 1995
|
|
13
|
Understanding the Architecture of Software Systems
– Fiutem, Merlo, et al.
- 1996
|
|
13
|
Flexible Control for Program Recognition
– Wills
- 1993
|
|
7
|
GENOA - a customizable, languageand front-end independent code analyzer
– Devanbu
- 1992
|
|
3
|
The Gadfly: An Approach to Architectural-Level System Comprehension
– Clements, Krut, et al.
- 1996
|