Abstract
This paper offers a first, in-breadth survey and comparison of current aspect mining tools and techniques. It focuses mainly on automated techniques that mine a program’s static or dynamic structure for candidate aspects. We present an initial comparative framework for distinguishing aspect mining techniques, and assess known techniques against this framework. The results of this assessment may serve as a roadmap to potential users of aspect mining techniques, to help them in selecting an appropriate technique. It also helps aspect mining researchers to identify remaining open research questions, possible avenues for future research, and interesting combinations of existing techniques.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Tarr, P., Ossher, H., Harrison, W., Stanley, M., Sutton, J.: N degrees of separation: multi-dimensional separation of concerns. In: International Conference on Software Engineering (ICSE), pp. 107–119. IEEE Computer Society Press, Los Alamitos (1999)
Hannemann, J., Kiczales, G.: Overcoming the prevalent decomposition in legacy code. In: Workshop on Advanced Separation of Concerns, International Conference on Software Engineering (ICSE) (2001)
Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications (2003)
Baniassad, E., Clements, P.C., Araujo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering early aspects. IEEE Software 23(1), 61–70 (2006)
Baniassad, E., Clarke, S.: Theme: An approach for aspect-oriented analysis and design. In: International Conference on Software Engineering (ICSE), pp. 158–167. IEEE Computer Society Press, Washington, USA (2004)
Rashid, A., Sawyer, P., Moreira, A.M.D., Araújo, J.: Early aspects: A model for aspect-oriented requirements engineering. In: Joint International Conference on Requirements Engineering (RE), pp. 199–202. IEEE Computer Society Press, Los Alamitos (2002)
Tekinerdogan, B., Aksit, M.: Deriving design aspects from canonical models. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 410–413. Springer, Heidelberg (1998)
Bass, L., Klein, M., Northrop, L.: Identifying aspects using architectural reasoning. In: Early Aspects 2004: Aspect-Oriented Requirements Engineering and Architecture Design. Workshop of the 3rd International Conference on Aspect-Oriented Software Development (AOSD) (2004)
Robillard, M.P., Murphy, G.C.: Concern graphs: Finding and describing concerns using structural program dependencies. In: International Conference on Software Engineering (ICSE 2002), pp. 406–416. ACM Press, New York (2002)
Mens, K., Poll, B., González, S.: Using intentional source-code views to aid software maintenance. In: International Conference on Software Maintenance (ICSM 2003), pp. 169–178. IEEE Computer Society Press, Los Alamitos (2003)
Griswold, W., Kato, Y., Yuan, J.: Aspect browser: Tool support for managing dispersed aspects. In: Workshop on Multi-Dimensional Separation of Concerns in Object-oriented Systems (1999)
Zhang, C., Jacobsen, H.: Extended aspect mining tool (2002), http://www.eecg.utoronto.ca/~czhang/amtex
Zhang, C., Jacobsen, H.A.: Prism is research in aspect mining. In: OOPSLA, ACM, New York (2004)
Breu, S., Krinke, J.: Aspect mining using event traces. In: Automated Software Engineering (ASE) (2004)
Krinke, J., Breu, S.: Control-flow-graph-based aspect mining. In: 1st Workshop on Aspect Reverse Engineering (2004)
Breu, S.: Towards hybrid aspect mining: Static extensions to dynamic aspect mining. In: 1st Workshop on Aspect Reverse Engineering (2004)
Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. Springer, Heidelberg (1999)
Tonella, P., Ceccato, M.: Aspect mining through the formal concept analysis of execution traces. In: Working Conference on Reverse Engineering (WCRE) (2004)
Tourwé, T., Mens, K.: Mining aspectual views using formal concept analysis. In: Source Code Analysis and Manipulation Workshop (SCAM) (2004)
Ceccato, M., Marin, M., Mens, K., Moonen, L., Tonello, P., Tourwé, T.: A qualitative comparison of three aspect mining techniques. In: International Workshop on Program Comprehension (IWPC 2005), pp. 13–22. IEEE Computer Society Press, Los Alamitos (2005)
Mens, K., Tourwé, T.: Delving source-code with formal concept analysis. Elsevier Journal on Computer Languages, Systems & Structures (2005) (to appear)
Shepherd, D., Tourwé, T., Pollock, L.: Using language clues to discover crosscutting concerns. In: Workshop on the Modeling and Analysis of Concerns (2005)
Morris, J., Hirst, G.: Lexical cohesion computed by thesaural relations as an indicator of the structure of text. Computational Linguistics 17(1), 21–48 (1991)
Budanitski, A.: Semantic distance in wordnet: an experimental, application-oriented evaluation of five measures (2001)
Gybels, K., Kellens, A.: An experiment in using inductive logic programming to uncover pointcuts. In: First European Interactive Workshop on Aspects in Software (2004)
Gybels, K., Kellens, A.: Experiences with identifying aspects in Smalltalk using ’unique methods’. In: Workshop on Linking Aspect Technology and Evolution (2005)
Shepherd, D., Pollock, L.: Interfaces, aspects and views. In: Linking Aspect Technology and Evolution (LATE) Workshop (2005)
Karanjkar, S.: Development of graph clustering algorithms. Master’s thesis, University of Minnesota (1998)
He, L., Bai, H., Zhang, J., Hu, C.: Amuca algorithm for aspect mining. In: Software Engineering and Knowledge Engineering (SEKE) (2005)
Marin, M., van Deursen, A., Moonen, L.: Identifying aspects using fan-in analysis. In: Working Conference on Reverse Engineering (WCRE), pp. 132–141. IEEE Computer Society Press, Los Alamitos (2004)
Shepherd, D., Gibson, E., Pollock, L.: Design and evaluation of an automated aspect mining tool. In: International Conference on Software Engineering Research and Practice (2004)
Komondoor, R., Horwitz, S.: Using slicing to identify duplication in source code. In: International Symposium on Static Analysis, pp. 40–56. Springer, Heidelberg (2001)
Krinke, J.: Identifying similar code with program dependence graphs. In: Working Conference on Reverse Engineering (WCRE 2001), pp. 301–309. IEEE Computer Society Press, Los Alamitos (2001)
Bruntink, M., van Deursen, A., van Engelen, R., Tourwé, T.: An evaluation of clone detection techniques for identifying crosscutting concerns. In: International Conference on Software Maintenance (ICSM 2004), IEEE Computer Society Press, Los Alamitos (2004)
Bruntink, M., van Deursen, A., van Engelen, R., Tourwè, T.: On the use of clone detection for identifying crosscutting concern code. IEEE Transactions on Software Engineering 31(10), 804–818 (2005)
Baker, B.: On finding duplication and near-duplication in large software systems. In: Working Conference on Reverse Engineering (WCRE 1995), pp. 86–95. IEEE Computer Society Press, Los Alamitos (1995)
Baxter, I., Yahin, A., Moura, L., Sant Anna, M., Bier, L.: Clone detection using abstract syntax trees. In: International Conference on Software Maintenance (ICSM 1998), IEEE Computer Society Press, Los Alamitos (1998)
Bruntink, M.: Aspect mining using clone class metrics. In: 1st Workshop on Aspect Reverse Engineering (2004)
Brant, J.: Hotdraw. Master’s thesis, University of Illinois (1992)
van Deursen, A., Marin, M., Moonen, L.: AJHotDraw: A showcase for refactoring to aspects. In: Workshop on Linking Aspect Technology and Evolution (2005)
Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Transactions on Software Engineering 29(3), 195–209 (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Kellens, A., Mens, K., Tonella, P. (2007). A Survey of Automated Code-Level Aspect Mining Techniques. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development IV. Lecture Notes in Computer Science, vol 4640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77042-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-77042-8_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77041-1
Online ISBN: 978-3-540-77042-8
eBook Packages: Computer ScienceComputer Science (R0)