Skip to main content

Automatic Detection of Infinite Recursion in AspectJ Programs

  • Conference paper
Future Generation Information Technology (FGIT 2009)

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 5899))

Included in the following conference series:

  • 1007 Accesses

Abstract

This paper aims at automatic detection of infinite recursion at compile time in aspect-oriented programs. Infinite recursion is a known problem with aspect-oriented programming. If programmers do not take particular precautions, aspects that advise other aspects can easily and unintentionally lead to infinite recursion. The solution that is proposed in this paper informs programmers of aspects that lead to infinite recursion by showing compile time error messages and warnings. This paper, additionally, measures effectiveness of its proposed solution by applying it to several case studies. The solution that is proposed in this paper suggests that programming in aspect-oriented languages can be done more safely without restricting languages features or imposing runtime overhead.

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. Laddad, R.: AspectJ in Action: Practical Aspect-Oriented Programming. Manning, Greenwich (2003)

    Google Scholar 

  2. Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, J., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Optimising AspectJ. In: PLDI 2005: Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, pp. 117–128. ACM, New York (2005)

    Chapter  Google Scholar 

  3. Bockisch, C., Kanthak, S., Haupt, M., Arnold, M., Mezini, M.: Efficient control flow quantification. In: OOPSLA 2006: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pp. 125–138. ACM, New York (2006)

    Chapter  Google Scholar 

  4. Lemos, O.A.L., Vincenzi, A.M.R., Maldonado, J.C., Masiero, P.C.: Control and data flow structural testing criteria for aspect-oriented programs. J. Syst. Softw. 80(6), 862–882 (2007)

    Article  Google Scholar 

  5. Zhao, J.: Data-flow-based unit testing of aspect-oriented programs. In: COMPSAC 2003: Proceedings of the 27th Annual International Conference on Computer Software and Applications, Washington, DC, USA, p. 188. IEEE Computer Society, Los Alamitos (2003)

    Chapter  Google Scholar 

  6. Bodden, E., Forster, F., Steimann, F.: Avoiding infinite recursion with stratified aspects. In: Hirschfeld, R., Polze, A., Kowalczyk, R. (eds.) NODe/GSEM, GI. LNI, vol. 88, pp. 49–64 (2006)

    Google Scholar 

  7. Shen, H., Zhang, S., Zhao, J., Fang, J., Yao, S.: XFindBugs: extended FindBugs for AspectJ. In: PASTE 2008: Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, pp. 70–76. ACM, New York (2008)

    Chapter  Google Scholar 

  8. Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, J., Lhoták, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Abc: an extensible aspectj compiler. In: AOSD 2005: Proceedings of the 4th international conference on Aspect-oriented software development, pp. 87–98. ACM, New York (2005)

    Chapter  Google Scholar 

  9. Pearce, D.J., Webster, M., Berry, R., Kelly, P.H.J.: Profiling with aspectj. Softw. Pract. Exper. 37(7), 747–777 (2007)

    Article  Google Scholar 

  10. Dufour, B., Goard, C., Hendren, L., de Moor, O., Sittampalam, G., Verbrugge, C.: Measuring the dynamic behaviour of AspectJ programs. In: OOPSLA 2004: Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 150–169. ACM, New York (2004)

    Chapter  Google Scholar 

  11. Rinard, M., Salcianu, A., Bugrara, S.: A classification system and analysis for aspect-oriented programs. SIGSOFT Softw. Eng. Notes 29(6), 147–158 (2004)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Salmi, M.F., Parsa, S. (2009). Automatic Detection of Infinite Recursion in AspectJ Programs. In: Lee, Yh., Kim, Th., Fang, Wc., Ślęzak, D. (eds) Future Generation Information Technology. FGIT 2009. Lecture Notes in Computer Science, vol 5899. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10509-8_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10509-8_22

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10508-1

  • Online ISBN: 978-3-642-10509-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics