skip to main content
10.1145/1167473.1167484acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Efficient control flow quantification

Authors Info & Claims
Published:16 October 2006Publication History

ABSTRACT

Aspect-oriented programming (AOP) is increasingly gaining in popularity. However, the focus of aspect-oriented language research has been mostly on language design issues; efficient implementation techniques have been less popular. As a result, the performance of certain AOP constructs is still poor. This is in particular true for constructs that rely on dynamic properties of the execution (e.g., the cflow construct).In this paper, we present efficient implementation techniques for cflow that exploit direct access to internal structures of the virtual machine running an application, such as the call stack, as well as the integration of these techniques into the just-in-time compiler code generation process.Our results show that AOP has the potential to make programs that need to define control flow-dependent behavior not only more modular but also more efficient. By making means for control flow-dependent behavior part of the language, AOP opens the possibility of applying sophisticated compiler optimizations that are out of reach for application programmers.

References

  1. abc (AspectBench Compiler) Home Page. http://aspectbench.org/.Google ScholarGoogle Scholar
  2. B. Alpern, D. Attanasio, J. J. Barton, A. Cocchi, S. F. Hummel, D. Lieber, M. Mergen, T. Ngo, J. Shepherd, and S. Smith. Implementing Jalapeño in Java. In 1999 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'99). ACM Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. Alpern et al. The Jalapeño Virtual Machine. IBM Systems Journal, 39(1):211--238, February 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Matthew Arnold and Barbara G. Ryder. Thin guards: A simple and effective technique for reducing the penalty of dynamic class loading. In ECOOP '02: Proceedings of the 16th European Conference on Object-Oriented Programming, pages 498--524, London, UK, 2002. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. AspectJ Home Page. http://www.eclipse.org/aspectj/.Google ScholarGoogle Scholar
  6. AspectS Home Page. http://www-ia.tu-ilmenau.de/~hirsch/Projects/Squeak/AspectS/.Google ScholarGoogle Scholar
  7. AspectWerkz Home Page. http://aspectwerkz.codehaus.org/.Google ScholarGoogle Scholar
  8. P. Avgustinov et al. Optimising AspectJ. In PLDI '05: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 117--128. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. Bockisch, M. Haupt, M. Mezini, and K. Ostermann. Virtual Machine Support for Dynamic Join Points. In Proc. AOSD 2004. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Bonér. What Are the Key Issues for Commercial AOP Use: how Does AspectWerkz Address Them? In Proc. AOSD 2004, pages 5--6. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Brichau, M. Haupt, N. Leidenfrost, A. Rashid, L. Bergmans, T. Staijen, A. Charfi, C. Bockisch, I. Aracic, V. Gasiunas, K. Ostermann, L. Seinturier, R. Pawlak, M. Südholt, J. Noyé, D. Suvée, M. D'Hondt, P. Ebraert, W. Vanderperren, M. Pinto, L. Fuentes, E. Truyen, A. Moors, M. Bynens, W. Joosen, S. Katz, A. Coyler, H. Hawkins, A. Clement, and O. Spinczyk. Report describing survey of aspect languages and models. Technical Report AOSD-Europe Deliverable D12, AOSD-Europe-VUB-01, Vrije Universiteit Brussel, 17 May 2005 2005Google ScholarGoogle Scholar
  12. T. Dinkelaker, M. Haupt, R. Pawlak, L. D. Benavides Navarro, and V. Gasiunas. Inventory of aspect-oriented execution models. Technical Report AOSD-Europe Deliverable D40, AOSD-Europe-TUD-4, Darmstadt University of Technology, 28 February 2006.Google ScholarGoogle Scholar
  13. B. Dufour, C. Goard, L. Hendren, C. Verbrugge, O. de Moor, and G. Sittampalam. Measuring the Dynamic Behaviour of AspectJ Programs. In Proc. OOPSLA 2004, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. E. Filman, T. Elrad, S. Clarke, and M. Akcşit, editors. Aspect-Oriented Software Development. Addison-Wesley, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Glassbox-Inspector Home Page. https://glassbox-inspector.dev.java.net/.Google ScholarGoogle Scholar
  16. B. Harbulot and J. R. Gurd. Using aspectj to separate concerns in parallel scientific java code. In AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development, pages 122--131. ACM Press, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Haupt, M. Mezini, C. Bockisch, T. Dinkelaker, M. Eichberg, and M. Krebs. An Execution Layer for Aspect-Oriented Programming Languages. In Proc. VEE 2005. ACM Press, June 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Hirschfeld. AspectS - Aspect-Oriented Programming with Squeak. In M. Aksit, M. Mezini, and R. Unland, editors, Objects, Components, Architectures, Services, and Applications for a Networked World, volume 2591 of LNCS, pages 216--232. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. JAsCo Home Page. http://ssel.vub.ac.be/jasco/.Google ScholarGoogle Scholar
  20. JBoss AOP Home Page. http://www.jboss.com/products/aop.Google ScholarGoogle Scholar
  21. The Jikes Research Virtual Machine. http://jikesrvm.sourceforge.net/.Google ScholarGoogle Scholar
  22. G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In J. Lindskov Knudsen, editor, Proc. ECOOP 2001, volume 2072 of LNCS, pages 327--353. Springer, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Videira Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In M. Aksit and S. Matsuoka, editors, ECOOP '97: Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 220--242. Springer, 1997.Google ScholarGoogle Scholar
  24. Ramnivas Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications Co., Greenwich, CT, USA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Karl Lieberherr, David H. Lorenz, and Pengcheng Wu. A case for statically executable advice: checking the law of demeter with aspectj. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 40--49, New York, NY, USA, 2003. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. H. Masuhara and G. Kiczales. Modeling Crosscutting in Aspect-Oriented Mechanisms. In Proc. ECOOP 2003, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  27. H. Masuhara, G. Kiczales, and C. Dutchyn. A Compilation and Optimization Model for Aspect-Oriented Programs. In G. Hedin, editor, Proc. CC 2003, volume 2622 of LNCS, pages 46--60. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. Avgustinov and others. abc: an Extensible AspectJ Compiler. In Proc. AOSD'05, pages 87--98. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. P. Costanza and R. Hirschfeld. Language Constructs for Context-Oriented Programming: an Overview of ContextL. In Dynamic Languages Symposium (DLS) '05, co-organized with OOPSLA'05. ACM Press, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. P. Costanza and R. Hirschfeld and W. de Meuter. Efficient Layer Activation for Switching Context-Dependent Behavior. In Joint Modular Languages Conference 2006 (JMLC2006). Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. D. Sereni and O. de Moor. Static analysis of aspects. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 30--39. ACM Press, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. D. Suvée, W. Vanderperren, and V. Jonckers. JAsCo: an Aspect-Oriented Approach Tailored for Component Based Software Development. In Proc. AOSD 2003, pages 21--29, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Efficient control flow quantification

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!