Software architecture recovery
- Software architecture recovery
Software architecture recovery is a set of methods for the extraction of architectural information from lower level representations of a software system, such as source code. The abstraction process to generate architectural elements frequently involves clustering source code entities (such as files, classes, functions etc.) into subsystems according to a set of criteria that can be application dependent or not. Architecture recovery from legacy systems is motivated by the fact that these systems do not often have an architectural documentation, and when they do, this documentation is many times out of synchronization with the implemented system.
Approaches
Most approaches to software architecture recovery has been exploring the static analysis of systems. When considering object-oriented software, which employs a lot of polymorphism and dynamic binding mechanisms, dynamic analysis becomes an essential technique to comprehend the systembehavior, object interactions, and hence to reconstruct its architecture. In this work, the criteria used to determine how source code entities should be clustered in architectural elements are mainly based on the dynamic analysis of the system, taking into account the occurrences of interaction patterns and types (classes and interfaces) in use-case realizations.
References
* http://www.ucb.br/ucbtic/wmswm-04/SoftwareArchitectureRecovery.pdf
Wikimedia Foundation.
2010.
Look at other dictionaries:
Architecture of Windows NT — The Windows NT operating system family s architecture consists of two layers (user mode and kernel mode), with many different modules within both of these layers. The architecture of Windows NT, a line of operating systems produced and sold by… … Wikipedia
Architecture of Btrieve — Btrieve is a database developed by Pervasive. The architecture of Btrieve has been designed with record management in mind. This means that Btrieve only deals with the underlying record creation, data retrieval, record updating and data deletion… … Wikipedia
Open Computer Forensics Architecture — Developer(s) Korps landelijke politiediensten Stable release 2.2.0pl4 Development status Active Operating system Linux … Wikipedia
List of data recovery software — The following is a list of notable data recovery software. Contents 1 Bootable 2 Consistency checkers 3 File recovery 4 Forensics … Wikipedia
Comparison of disk cloning software — This is a comparison of disk cloning software. See also: List of disk cloning software Contents 1 Table 1.1 Notes 1.2 Creating a Live USB 2 Other disk cloning applicatio … Wikipedia
List of Macintosh software — Contents 1 Audio 2 Computer aided design (CAD) 3 CD and DVD authoring … Wikipedia
Notepad (software) — Notepad A component of Microsoft Windows Notepad on Windows 7 De … Wikipedia
Vinzant Software — Infobox Company company name = Vinzant Software, Inc. company company type = Private foundation = 1987 [http://www.vinzantsoftware.com/about.asp About Vinzant Software] ] location city = Hobart, IN location country = USA key people = David… … Wikipedia
Comparison of disk encryption software — This is a technical feature comparison of different disk encryption software. Contents 1 Background information 2 Operating systems 3 Features 4 Layering … Wikipedia
Reengineering (software) — The reengineering of software was described by Chikofsky and Cross in their 1990 paper [Chikofsky, E. and Cross, J., 1990. Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software, 7(1):13 18.] , as The examination and alteration of a… … Wikipedia