Skip to main content

A Survey of Automated Code-Level Aspect Mining Techniques

  • Chapter
Transactions on Aspect-Oriented Software Development IV

Part of the book series: Lecture Notes in Computer Science ((TAOSD,volume 4640))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications (2003)

    Google Scholar 

  4. Baniassad, E., Clements, P.C., Araujo, J., Moreira, A., Rashid, A., Tekinerdogan, B.: Discovering early aspects. IEEE Software 23(1), 61–70 (2006)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. 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)

    Google Scholar 

  12. Zhang, C., Jacobsen, H.: Extended aspect mining tool (2002), http://www.eecg.utoronto.ca/~czhang/amtex

  13. Zhang, C., Jacobsen, H.A.: Prism is research in aspect mining. In: OOPSLA, ACM, New York (2004)

    Google Scholar 

  14. Breu, S., Krinke, J.: Aspect mining using event traces. In: Automated Software Engineering (ASE) (2004)

    Google Scholar 

  15. Krinke, J., Breu, S.: Control-flow-graph-based aspect mining. In: 1st Workshop on Aspect Reverse Engineering (2004)

    Google Scholar 

  16. Breu, S.: Towards hybrid aspect mining: Static extensions to dynamic aspect mining. In: 1st Workshop on Aspect Reverse Engineering (2004)

    Google Scholar 

  17. Ganter, B., Wille, R.: Formal Concept Analysis: Mathematical Foundations. Springer, Heidelberg (1999)

    MATH  Google Scholar 

  18. Tonella, P., Ceccato, M.: Aspect mining through the formal concept analysis of execution traces. In: Working Conference on Reverse Engineering (WCRE) (2004)

    Google Scholar 

  19. Tourwé, T., Mens, K.: Mining aspectual views using formal concept analysis. In: Source Code Analysis and Manipulation Workshop (SCAM) (2004)

    Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. Mens, K., Tourwé, T.: Delving source-code with formal concept analysis. Elsevier Journal on Computer Languages, Systems & Structures (2005) (to appear)

    Google Scholar 

  22. Shepherd, D., Tourwé, T., Pollock, L.: Using language clues to discover crosscutting concerns. In: Workshop on the Modeling and Analysis of Concerns (2005)

    Google Scholar 

  23. 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)

    Google Scholar 

  24. Budanitski, A.: Semantic distance in wordnet: an experimental, application-oriented evaluation of five measures (2001)

    Google Scholar 

  25. Gybels, K., Kellens, A.: An experiment in using inductive logic programming to uncover pointcuts. In: First European Interactive Workshop on Aspects in Software (2004)

    Google Scholar 

  26. Gybels, K., Kellens, A.: Experiences with identifying aspects in Smalltalk using ’unique methods’. In: Workshop on Linking Aspect Technology and Evolution (2005)

    Google Scholar 

  27. Shepherd, D., Pollock, L.: Interfaces, aspects and views. In: Linking Aspect Technology and Evolution (LATE) Workshop (2005)

    Google Scholar 

  28. Karanjkar, S.: Development of graph clustering algorithms. Master’s thesis, University of Minnesota (1998)

    Google Scholar 

  29. He, L., Bai, H., Zhang, J., Hu, C.: Amuca algorithm for aspect mining. In: Software Engineering and Knowledge Engineering (SEKE) (2005)

    Google Scholar 

  30. 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)

    Chapter  Google Scholar 

  31. 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)

    Google Scholar 

  32. Komondoor, R., Horwitz, S.: Using slicing to identify duplication in source code. In: International Symposium on Static Analysis, pp. 40–56. Springer, Heidelberg (2001)

    Google Scholar 

  33. 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)

    Chapter  Google Scholar 

  34. 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)

    Google Scholar 

  35. 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)

    Article  Google Scholar 

  36. 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)

    Chapter  Google Scholar 

  37. 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)

    Google Scholar 

  38. Bruntink, M.: Aspect mining using clone class metrics. In: 1st Workshop on Aspect Reverse Engineering (2004)

    Google Scholar 

  39. Brant, J.: Hotdraw. Master’s thesis, University of Illinois (1992)

    Google Scholar 

  40. van Deursen, A., Marin, M., Moonen, L.: AJHotDraw: A showcase for refactoring to aspects. In: Workshop on Linking Aspect Technology and Evolution (2005)

    Google Scholar 

  41. Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Transactions on Software Engineering 29(3), 195–209 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Awais Rashid Mehmet Aksit

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics