Mining static and dynamic crosscutting concerns: a role-based approach

被引:2
作者
Bernardi, Mario Luca [1 ]
Cimitile, Marta [2 ]
Di Lucca, Giuseppe [1 ]
机构
[1] Univ Sannio, Dept Engn, Benevento, Italy
[2] Unitelma Sapienza Univ, Rome, Italy
关键词
software evolution; reverse engineering; aspect mining; aspect-oriented programming; MOF; DESIGN PATTERNS; CLONE DETECTION; SYSTEMS; CODE; TOOL;
D O I
10.1002/smr.1769
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 (C) 2016 John Wiley & Sons, Ltd.
引用
收藏
页码:306 / 339
页数:34
相关论文
共 52 条
[1]  
[Anonymous], 1998, P INT C SOFTW MAINT
[2]   Relationship between design patterns defects and crosscutting concern scattering degree: an empirical study [J].
Aversano, L. ;
Cerulo, L. ;
Di Penta, M. .
IET SOFTWARE, 2009, 3 (05) :395-409
[3]  
Bernardi IL, 2011, COMM COM INF SC, V257, P147
[4]  
Bernardi Mario Luca, 2010, Proceedings of the 18th IEEE International Conference on Program Comprehension (ICPC 2010), P48, DOI 10.1109/ICPC.2010.34
[5]   ConAn: A tool for the Identification of Crosscutting Concerns in Object Oriented Systems based on Type Hierarchy Analysis [J].
Bernardi, Mario Luca ;
Di Lucca, Giuseppe Antonio .
16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, :319-320
[6]  
Bernardi ML, 2009, IWPSE-EVOL 09: ERCIM WORKSHOP ON SOFTWARE EVOLUTION (EVOL) AND INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION (IWPSE), P63
[7]  
Bernardi ML, 2009, LECT NOTES COMPUT SC, V5899, P216, DOI 10.1007/978-3-642-10509-8_25
[8]   Aspect mining using event traces [J].
Breu, S ;
Krinke, J .
19TH INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :310-315
[9]  
Breu S, 2006, IEEE INT CONF AUTOM, P221
[10]   On the use of clone detection for identifying crosscutting concern code [J].
Bruntink, M ;
van Deursen, A ;
van Engelen, R ;
Tourwé, T .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2005, 31 (10) :804-818