Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1353482.1353504acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Lightweight virtual machine support for AspectJ

Published: 31 March 2008 Publication History

Abstract

Advice weaving can be efficiently supported with only lightweight enhancements to existing Virtual Machines. Performing weaving at the Java bytecode (JBC) level while preserving appropriate metadata enables the VM to understand the AspectJ-specific semantics of the code and optimize it. This allows the overhead of advice weaving and performing non-local advice dispatch optimization to occur prior to runtime. It also allows the VM to perform optimizations that are unavailable to a bytecode level weaver.
An experimental implementation shows that this approach can take advantage of previously known macro optimizations of expensive constructs, including cflow, as well as micro optimizations including those based on improved type analysis unavailable to JBC-based advice dispatch. A thorough benchmark evaluation confirms that the use of this architecture does not result in runtime performance overhead and benefits from the implemented optimizations.

References

[1]
ABC Group. abc (AspectBench Compiler). http://aspectbench.org.
[2]
ABC Group. Aspectj benchmarks. http://abc.comlab.ox.ac.uk/benchmarks
[3]
Bowen Alpern, C. R. Attanasio, Anthony Cocchi, Derek Lieber, Stephen Smith, Ton Ngo, John J. Barton, Susan Flynn Hummel, Janice C. Sheperd, and Mark Mergen. Implementing Jalapeño in Java. In OOPSLA '99: Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 314--324, New York, NY, USA, 1999. ACM Press
[4]
Matthew Arnold, Stephen Fink, David Grove, Michael Hind, and Peter F. Sweeney. Adaptive optimization in the Jalapeño JVM. In OOPSLA '00: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 47--65, New York, NY, USA, 2000. ACM Press.
[5]
AspectJ Team. AspectJ Project. http://www.eclipse.org/aspectj/.
[6]
Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhoták, Ondřej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble. abc: an extensible AspectJ compiler. In AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software development, pages 87--98, New York, NY, USA, 2005. ACM Press.
[7]
Pavel Avgustinov, Aske Simon Christensen, Laurie Hendren, Sascha Kuzins, Jennifer Lhoták, Ondřej Lhoták, Oege de Moor, Damien Sereni, Ganesh Sittampalam, and Julian Tibble. Optimising AspectJ. In PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, pages 117--128, New York, NY, USA, 2005. ACM Press.
[8]
Stephen M. Blackburn, Perry Cheng, and Kathryn S. McKinley. Oil and Water? High Performance Garbage Collection in Java with MMTk. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering, pages 137--146, Washington, DC, USA, 2004. IEEE Computer Society.
[9]
Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khang, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony Hosking, Maria Jump, Han Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanović, Thomas VanDrunen, Daniel von Dincklage, and Ben Wiedermann. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 169--190, New York, NY, USA, 2006. ACM Press.
[10]
Christoph Bockisch, Michael Haupt, Mira Mezini, and Klaus Ostermann. Virtual Machine Support for Dynamic Join Points. In AOSD '04: Proceedings of the 3rd International Conference on Aspect-oriented Software Development, pages 83--92, New York, NY, USA, 2004. ACM Press.
[11]
Christoph Bockisch, Sebastian Kanthak, Michael Haupt, Matthew Arnold, and Mira Mezini. Efficient control flow quantification. SIGPLAN Not., 41(10):125--138, 2006.
[12]
Christoph Bockisch and Mira Mezini. A Flexible Architecture for pointcut-advice Language Implementations. In VMIL '07: Proceedings of the 1st workshop on Virtual Machines and Intermediate Languages for Emerging Modularization Mechanisms, page 1, New York, NY, USA, 2007. ACM.
[13]
Jonas Bonér and Alexandre Vasseur. AspectWerkz. http://aspectwerkz.codehaus.org/index.html.
[14]
Michael G. Burke, Jong-Deok Choi, Stephen Fink, David Grove, Michael Hind, Vivek Sarkar, Mauricio J. Serrano, V. C. Sreedhar, Harini Srinivasan, and John Whaley. The Jalapeño dynamic optimizing compiler for Java. In JAVA '99: Proceedings of the ACM 1999 conference on Java Grande, pages 129--141, New York, NY, USA, 1999. ACM Press.
[15]
Robert Dyer, Rakesh B. Setty, and Hridesh Rajan. Nu: Toward a flexible and dynamic aspect-oriented intermediate language model. Technical report, Iowa State University, June 2007.
[16]
Lieven Eeckhout, Andy Georges, and Koen De Bosschere. How java programs interact with virtual machines at the microarchitectural level. In OOPSLA '03: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pages 169--186, New York, NY, USA, 2003. ACM Press
[17]
Stephen Fink and Feng Qian. Design, Implementation and Evaluation of Adaptive Recompilation with On-Stack Replacement. In Code Generation and Optimization, pages 241--252, 2003.
[18]
Andy Georges, Dries Buytaert, and Lieven Eeckhout. Statistically Rigorous Java Performance Evaluation. In OOPSLA '07: Proceedings of the 22nd annual ACM SIGPLAN conference on Object oriented programming systems and applications, pages 57--76, New York, NY, USA, 2007. ACM.
[19]
Ryan M. Golbeck and Gregor Kiczales. A machine code model for efficient advice dispatch. In VMIL '07: Proceedings of the 1st workshop on Virtual Machines and Intermediate Languages for Emerging Modularization Mechanisms, page 2, New York, NY, USA, 2007. ACM Press.
[20]
Dayong Gu, Clark Verbrugge, and Etienne M. Gagnon. Relative factors in performance analysis of java virtual machines. In VEE '06: Proceedings of the 2nd international conference on Virtual execution environments, pages 111--121, New York, NY, USA, 2006. ACM Press.
[21]
M. Haupt and M. Mezini. Virtual Machine Support for Aspects with Advice Instance Tables. L'Objet, 11(3):9--30, 2005.
[22]
M. Haupt, M. Mezini, C. Bockisch, T. Dinkelaker, M. Eichberg, and M. Krebs. An Execution Layer for Aspect-Oriented Programming Languages. In J. Vitek, editor, Proceedings of the First International Conference on Virtual Execution Environments (VEE'05), pages 142--152, Chicago, USA, June 2005. ACM Press.
[23]
Erik Hilsdale and Jim Hugunin. Advice weaving in AspectJ. In AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development, pages 26--35, New York, NY, USA, 2004. ACM Press.
[24]
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold. An Overview of AspectJ. Lecture Notes in Computer Science, 2072:327--355, 2001.
[25]
Andrei Popovici, Gustavo Alonso, and Thomas Gross. Just-intime aspects: efficient dynamic weaving for Java. In AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, pages 100--109, New York, NY, USA, 2003. ACM Press.

Cited By

View all
  • (2010)Late binding of AspectJ adviceProceedings of the 48th international conference on Objects, models, components, patterns10.5555/1894386.1894396(173-191)Online publication date: 28-Jun-2010
  • (2010)Supporting dynamic aspect-oriented featuresACM Transactions on Software Engineering and Methodology10.1145/1824760.182476420:2(1-34)Online publication date: 8-Sep-2010
  • (2010)Late Binding of AspectJ AdviceObjects, Models, Components, Patterns10.1007/978-3-642-13953-6_10(173-191)Online publication date: 2010

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '08: Proceedings of the 7th international conference on Aspect-oriented software development
March 2008
212 pages
ISBN:9781605580449
DOI:10.1145/1353482
  • Conference Chair:
  • Theo D'Hondt
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • AOSA: Aspect-Oriented Software Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 March 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. AspectJ
  2. aspect-oriented programming

Qualifiers

  • Research-article

Conference

AOSD08
Sponsor:
  • AOSA

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2010)Late binding of AspectJ adviceProceedings of the 48th international conference on Objects, models, components, patterns10.5555/1894386.1894396(173-191)Online publication date: 28-Jun-2010
  • (2010)Supporting dynamic aspect-oriented featuresACM Transactions on Software Engineering and Methodology10.1145/1824760.182476420:2(1-34)Online publication date: 8-Sep-2010
  • (2010)Late Binding of AspectJ AdviceObjects, Models, Components, Patterns10.1007/978-3-642-13953-6_10(173-191)Online publication date: 2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media