Mining static and dynamic crosscutting concerns: a role‐based approach. Issue 5 (21st March 2016) - Bernardi, Mario Luca; Cimitile, Marta; Di Lucca, Giuseppe
Abstract: The implementation of crosscutting concerns in object‐oriented (OO) systems entails scattering and tangling of code across several components increasing code duplication and making the system harder to comprehend, maintain, evolve and reuse. Therefore, identification of crosscutting concerns drives the re‐engineering or refactoring tasks in order to improve modularization of an existing system and increasing its overall internal quality. This paper proposes an approach to identify and analyse the components implementing the static and dynamic crosscutting in OO systems. The approach defines a meta‐model representing the structure of an OO system in terms of its components. A static analysis of an OO software system is performed to create an instance of this meta‐model. Such meta‐model is finally analysed to find static and dynamic crosscutting among concerns. The effectiveness and efficiency of the proposed approach have been validated in an empirical assessment where it was applied to some OO java systems. The obtained results show a good level of effectiveness for the crosscutting analysis. Copyright © 2016 John Wiley & Sons, Ltd. Abstract : This paper proposes an approach to identify and analyze the components implementing the static and dynamic crosscutting in OO systems. A meta‐model representing the structure of an OO system is defined. A static analysis of an OO software system is performed to create an instance of this meta‐model. Such meta‐model is finally analysed to find static and dynamic crosscutting among concerns. The approach was applied to some OO java systems showing a good level of effectiveness for the crosscutting analysis.