Identifying, Assigning, and Quantifying Crosscutting Concerns
ACoM '07 Proceedings of the First International Workshop on Assessment of Contemporary Modularization Techniques
On some criteria for comparing aspect mining techniques
Proceedings of the 3rd workshop on Linking aspect technology and evolution
Identifying Crosscutting Concerns Using Fan-In Analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Aspect mining in the presence of the C preprocessor
Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw
Automated Software Engineering
Identifying crosscutting concerns using historical code changes
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Mining early aspects based on syntactical and dependency analyses
Science of Computer Programming
Hi-index | 0.00 |
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.