Applying and combining three different aspect mining techniques

被引:32
作者
Ceccato, M.
Marin, M.
Mens, K.
Moonen, L. [1 ]
Tonella, P.
Tourwe, T.
机构
[1] Delft Univ Technol, Delft, Netherlands
[2] ITCirst, Trento, Italy
[3] Catholic Univ Louvain, B-1348 Louvain, Belgium
[4] CWI, NL-1009 AB Amsterdam, Netherlands
关键词
Seed Quality; Execution Trace; Formal Concept Analysis; Contract Enforcement; Aspect Mining;
D O I
10.1007/s11219-006-9217-3
中图分类号
TP31 [计算机软件];
学科分类号
081202 [计算机软件与理论]; 0835 [软件工程];
摘要
Understanding a software system at source-code level requires understanding the different concerns that it addresses, which in turn requires a way to identify these concerns in the source code. Whereas some concerns are explicitly represented by program entities (like classes, methods and variables) and thus are easy to identify, crosscutting concerns are not captured by a single program entity but are scattered over many program entities and are tangled with the other concerns. Because of their crosscutting nature, such crosscutting concerns are difficult to identify, and reduce the understandability of the system as a whole. In this paper, we report on a combined experiment in which we try to identify crosscutting concerns in the JHotDraw framework automatically. We first apply three independently developed aspect mining techniques to JHotDraw and evaluate and compare their results. Based on this analysis, we present three interesting combinations of these three techniques, and show how these combinations provide a more complete coverage of the detected concerns as compared to the original techniques individually. Our results are a first step towards improving the understandability of a system that contains crosscutting concerns, and can be used as a basis for refactoring the identified crosscutting concerns into aspects.
引用
收藏
页码:209 / 231
页数:23
相关论文
共 20 条
[1]
[Anonymous], P OBJ OR PROGR SYST
[2]
*ASPECTJ TEAM, 2003, ASPECTJ PROGR GUID
[3]
Beck Kent, 1997, SMALLTALK BEST PRACT
[4]
BRUNTINK M, 2006, P 28 INT C SOFTW ENG
[5]
DEURSEN A, 2003, P 1 INT WORKSH REFRA
[6]
Locating features in source code [J].
Eisenbarth, T ;
Koschke, R ;
Simon, D .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (03) :210-224
[7]
FABRY J, 2005, THESIS VRIJE U BRUSS
[8]
Gamma Erich., 1994, DESIGN PATTERNS
[9]
Ganter B., 1999, Formal Concept Analysis: Mathematical Foundations
[10]
Henderson-Sellers B., 1996, Object-Oriented Metrics, measures of complexity