When programmers perform maintenance tasks, program understanding is often
required. One of the first activities in understanding a software system is
identifying its subsystems and their relations, i.e., its software archite
cture. Since a large part of the effort is spent in creating a mental model
of the system under study, tools can help maintainers in managing the evol
ution of legacy systems by showing them architectural information.
This paper describes an environment for the architectural recovery of softw
are systems called the architectural recovery tool (ART), The environment i
s based on a hierarchical architectural model that drives the application o
f a set of recognizers, each producing a different architectural view of a
system or of some of its parts. Recognizers embody knowledge about architec
tural cliches and use how analysis techniques to make their output more acc
urate.
To test the accuracy and effectiveness of the ART, a suite of public domain
applications containing interesting architectural organizations was select
ed as a benchmark. Results are presented by showing ART performance in term
s of precision and recall of the architectural concept retrieval process.
The results obtained show that cliche-based architectural recovery is feasi
ble and the recovered information can be valuable support in reengineering
and maintenance activities. Copyright (C) 1999 John Wiley & Sons, Ltd.