Organizations use to have implemented systems that represent a large effort and budget invested in the past. These systems
are evolved and adapted over time in order to accommodate technological and business changes. Moreover, big companies often
develop similar systems within the same domain. This has been motivating them to migrate to reuse approaches, such as domain
engineering and product line. However, existing systems in general don’t have up-to-date architectural documentation that
can help in their maintenance and reuse. Considering this scenario, this paper presents an approach to architecture recovery
and evaluation that aims at extracting knowledge from existing systems to help in their understanding and reuse. This extracted
knowledge is represented through a recovered application architectural model composed by architectural elements that represent
domain concepts traced to implemented functional requirements, which may help in generating reusable artifacts. In order to
evaluate the approach feasibility, an experimental study was performed.
Keywords Architecture recovery - dynamic analysis - data mining - architecture evaluation - software inspection - program understanding - software reuse