Skip to main content

Automated Pattern-Based Pointcut Generation

  • Conference paper
Software Composition (SC 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4089))

Included in the following conference series:

Abstract

One of the main problems in Aspect-Oriented Software Development is the so-called fragile pointcut problem. Uncovering and specifying a good robust pointcut is not an easy task. In this paper we propose to use Inductive Logic Programming, and more specifically the FOIL algorithm, to automatically identify intensional (or “pattern-based”) pointcuts. We present the tool chain we implemented to induce a pointcut given a set of identified joinpoints. Using several realistic medium-scale experiments, we show that our approach is able to automatically induce robust pointcuts for a set of joinpoints.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Akşit, M. (ed.): Proc. 2nd Int’ Conf. on Aspect-Oriented Software Development (AOSD-2003). ACM Press, New York (2001)

    Google Scholar 

  2. Binkley, D., Ceccato, M., Harman, M., Ricca, F., Tonella, P.: Automated refactoring of object oriented code into aspects. In: 21st IEEE International Conference on Software Maintenance (ICSM) (2005)

    Google Scholar 

  3. Breu, S., Krinke, J.: Aspect mining using event traces. In: 19th International Conference on Automated Software Engineering, California, pp. 310–315. IEEE Computer Society Press, Los Alamitos (2004)

    Chapter  Google Scholar 

  4. Brichau, J., De Meuter, W., De Volder, K.: Jumping aspects. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850. Springer, Heidelberg (2000)

    Google Scholar 

  5. Bruntink, M., van Deursen, A., van Engelen, R., Tourwé, T.: An evaluation of clone detection techniques for identifying crosscutting concerns. In: Proceedings of the IEEE International Conference on Software Maintenance (ICSM). IEEE Computer Society Press, Los Alamitos (2004)

    Google Scholar 

  6. Ceccato, M., Marin, M., Mens, K., Moonen, L., Tonello, P., Tourwé, T.: A qualitative comparison of three aspect mining techniques. In: Proceedings of the 13th International Workshop on Program Comprehension (IWPC 2005), pp. 13–22. IEEE Computer Society Press, Los Alamitos (2005)

    Chapter  Google Scholar 

  7. Chiba, S., Nishizawa, M.: An Easy-to-Use Toolkit for Efficient Java Bytecode Translators. In: Pfenning, F., Smaragdakis, Y. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 364–376. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  8. De Win, B., Joosen, W., Piessens, F.: Developing secure applications through aspect-oriented programming, pp. 633–650. Addison-Wesley, Boston (2005)

    Google Scholar 

  9. D’Hondt, M., Jonckers, V.: Hybrid aspects for weaving object-oriented functionality and rule-based knowledge. In: Lieberherr [23], pp. 132–140

    Google Scholar 

  10. Douence, R., Fradet, P., Südholt, M.: Composition, reuse and interaction analysis of stateful aspects. In: Lieberherr [23], pp. 141–150

    Google Scholar 

  11. Gybels, K., Brichau, J.: Arranging language features for pattern-based crosscuts. In: Akşit (ed.) [1], pp. 60–69

    Google Scholar 

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

    Google Scholar 

  13. Hanenberg, S., Oberschulte, C., Unland, R.: Refactoring of aspect-oriented software. In: 4th Annual International Conference on Object-Oriented and Internet-based Technologies, Concepts, and Applications for a Networked World (2003)

    Google Scholar 

  14. Hannemann, J.: The Aspect Mining Tool web site, http://www.cs.ubc.ca/labs/spl/projects/amt.html

  15. Hannemann, J., Murphy, G., Kiczales, G.: Role-based refactoring of crosscutting concerns. In: Tarr, P. (ed.) Proc. 4rd Int’ Conf. on Aspect-Oriented Software Development AOSD-2005, March, pp. 135–146. ACM Press, New York (2005)

    Chapter  Google Scholar 

  16. Harrison, W., Ossher, H., Sutton Jr, S.M., Tarr, P.: Concern modeling in the concern manipulation environment. IBM Research Report RC23344, IBM Thomas J. Watson Research Center, Yorktown Heights, NY (September 2004)

    Google Scholar 

  17. Janzen, D., De Volder, K.: Navigating and querying code without getting lost. In: Akşit (ed.) [1], pp. 178–187

    Google Scholar 

  18. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  19. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  20. Kiczales, G., Mezini, M.: Separation of concerns with procedures, annotations, advice and pointcuts. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 195–213. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Koppen, C., Störzer, M.: PCDiff: Attacking the fragile pointcut problem. In: Gybels, K., Hanenberg, S., Herrmann, S., Wloka, J. (eds.) European Interactive Workshop on Aspects in Software (EIWAS) (September 2004)

    Google Scholar 

  22. Laddad, R.: Aspect-oriented refactoring (December 2003)

    Google Scholar 

  23. Lieberherr, K. (ed.): Proc. 3rd Int’ Conf. on Aspect-Oriented Software Development (AOSD-2004). ACM Press, New York (2004)

    Google Scholar 

  24. Lieberherr, K.J.: Adaptive Object-Oriented Software: the Demeter Method with Propagation Patterns. PWS Publishing Company, Boston (1996)

    Google Scholar 

  25. Lieberherr, K.J., Palm, J., Sundaram, R.: Expressiveness and complexity of crosscut languages. In: Leavens, G.T., Clifton, C., Lämmel, R. (eds.) Foundations of Aspect-Oriented Languages (March 2005)

    Google Scholar 

  26. Monteiro, M.P.: Catalogue of refactorings for aspectj. Technical Report UM-DI-GECSD-200401, Universidade Do Minho (2004)

    Google Scholar 

  27. Muggleton, S., Feng, C.: Efficient induction in logic programs. In: Muggleton, S. (ed.) Inductive Logic Programming, pp. 281–298. Academic Press, London (1992)

    Google Scholar 

  28. Ossher, H., Tarr, P.: The shape of things to come: Using multi-dimensional separation of concerns with Hyper/J to (re)shape evolving software. Comm. ACM 44(10), 43–50 (2001)

    Article  Google Scholar 

  29. Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Comm. ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  30. Quinlan, J.R.: Learning logical definitions from relations. Machine Learning 5(3), 239–266 (1990)

    Google Scholar 

  31. Quinlan, R.: Qfoil: the reference foil implementation (2005), Home page at: http://www.rulequest.com/Personal/

  32. Robillard, M.P., Murphy, G.C.: Automatically inferring concern code from program investigation activities. In: Proceedings of Automated Software Engineering (ASE) 2003, pp. 225–235. IEEE Computer Society Press, Los Alamitos (2003)

    Chapter  Google Scholar 

  33. Vanderperren, W., Suvée, D., Jonckers, V.: Combining AOSD and CBSD in PacoSuite through invasive composition adapters and JAsCo. In: Net.ObjectDays 2003, pp. 36–50 (September 2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Braem, M., Gybels, K., Kellens, A., Vanderperren, W. (2006). Automated Pattern-Based Pointcut Generation. In: Löwe, W., Südholt, M. (eds) Software Composition. SC 2006. Lecture Notes in Computer Science, vol 4089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11821946_5

Download citation

  • DOI: https://doi.org/10.1007/11821946_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-37657-6

  • Online ISBN: 978-3-540-37659-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics