The framework of aspect-oriented software reverse engineering is proposed for the solution of comprehension and evolution problems of crosscutting properties in legacy system. Based on it, an approach of use-cases driven formal concept analysis is discussed. The goal of this approach is recovering system's crosscutting concerns on requirements level. With the approach, execution profiles of legacy system are analyzed using concept lattices and the invoked computational units that traverse system's use-case models can be identified. Finally, they can be abstracted into early-aspects for re-engineering of the legacy systems with AOSD (Aspect-Oriented Software Development). Compared with existing aspect-mining techniques, which are mainly applied for refactoring legacy system's program source codes, this given approach is more effective when it is used for comprehending and evolving legacy system on higher abstract level. The results of case study show that quite a few crosscutting properties of legacy system can be recovered at requirements level with the introduced domain knowledge.
[1]
Ivar Jacobson,et al.
Use Cases and Aspects-Working Seamlessly Together
,
2003,
J. Object Technol..
[2]
Hans-Arno Jacobsen,et al.
Quantifying aspects in middleware platforms
,
2003,
AOSD '03.
[3]
N. Loughran,et al.
Mining Aspects
,
2002
.
[4]
Arie van Deursen,et al.
Aspect Mining and Refactoring
,
2003
.
[5]
João Araújo,et al.
Early aspects: a model for aspect-oriented requirements engineering
,
2002,
Proceedings IEEE Joint International Conference on Requirements Engineering.
[6]
William G. Griswold,et al.
AspectBrowser: Tool Support for Managing Dispersed Aspects
,
1999
.