HotWave: Creating Adaptive Tools with Dynamic Aspect-Oriented Programming in Java']Java

被引:9
|
作者
Villazon, Alex [1 ]
Binder, Walter [1 ]
Ansaloni, Danilo [1 ]
Moret, Philippe [1 ]
机构
[1] Univ Lugano, Fac Informat, CH-6900 Lugano, Switzerland
基金
瑞士国家科学基金会;
关键词
Algorithms; Languages; Measurement; Dynamic aspect-oriented programming; runtime weaving; bytecode instrumentation; code hotswapping; profiling; AspectJ; !text type='Java']Java[!/text] Virtual Machine;
D O I
10.1145/1837852.1621622
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Developing tools for profiling, debugging, testing, and reverse engineering is error-prone, time-consuming, and therefore costly when using low-level techniques, such as bytecode instrumentation. As a solution to these problems, we promote tool development in Java using high-level aspect-oriented programming (AOP). We demonstrate that the use of aspects yields compact tools that are easy to develop and extend. As enabling technology, we rely on HotWave, a new tool for dynamic and comprehensive aspect weaving. HotWave reconciles compatibility with existing virtual machine and AOP technologies. It provides support for runtime adaptation of aspects and reweaving of previously loaded code, as well as the ability to weave aspects into all methods executing in a Java Virtual Machine, including methods in the standard Java class library. HotWave also features a new mechanism for efficiently passing data between advices that are woven into the same method. We demonstrate the benefits of HotWave's distinguishing features with two case studies in the area of profiling.
引用
收藏
页码:95 / 98
页数:4
相关论文
共 50 条
  • [1] HotWave: Creating adaptive tools with dynamic aspect-oriented programming in java
    Villazón, Alex
    Binder, Walter
    Ansaloni, Danilo
    Moret, Philippe
    [J]. GPCE'09 - Proceedings of the 8th International ACM SIGPLAN Conference on Generative Programming and Component Engineering, 2009, : 95 - 98
  • [2] Smart proxies in Java']Java RMI with dynamic aspect-oriented programming
    Stevenson, Andrew
    MacDonald, Steve
    [J]. 2008 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, VOLS 1-8, 2008, : 2086 - 2091
  • [3] AspectJ(tm): Aspect-oriented programming in Java']Java
    Kiczales, G
    [J]. OBJECTS, COMPONENTS, ARCHITECTURES, SERVICES, AND APPLICATIONS FOR A NETWORKED WORLD, 2003, 2591 : 1 - 1
  • [4] Aspect-oriented programming with enterprise Java']JavaBeans
    Choi, JP
    [J]. FOURTH INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING CONFERENCE - PROCEEDINGS, 2000, : 252 - 261
  • [5] Applications of Enhanced Dynamic Code Evolution for Java']Java in GUI Development and Dynamic Aspect-Oriented Programming
    Wuerthinger, Thomas
    Binder, Walter
    Ansaloni, Danilo
    Moret, Philippe
    Moessenboeck, Hanspeter
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (02) : 123 - 126
  • [6] Orthogonal Persistence in Java']Java supported by Aspect-Oriented Programming and Reflection
    Pereira, Rui Humbero R.
    Baltasar Garcia Perez-Schofield, J.
    [J]. SISTEMAS E TECNOLOGIAS DE INFORMACAO, VOL I, 2011, : 85 - +
  • [7] Aspect-Oriented Race Detection in Java']Java
    Bodden, Eric
    Havelund, Klaus
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2010, 36 (04) : 509 - 527
  • [8] FlexSync: An aspect-oriented approach to Java']Java synchronization
    Zhang, Charles
    [J]. 2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 375 - 385
  • [9] AOJS']JS: Aspect-Oriented Java']Java Script Programming Framework for Web Development
    Washizaki, Hironori
    Kubo, Atsuto
    Mizumachi, Tomohiko
    Eguchi, Kazuki
    Fukazawa, Yoshiaki
    Yoshioka, Nobukazu
    Kanuka, Hideyuki
    Kodaka, Toshihiro
    Sugimoto, Nobuhide
    Nagai, Yoichi
    Yamamoto, Rieko
    [J]. ACP4IS'09: 8TH WORKSHOP ON ASPECTS, COMPONENTS AND PATTERNS FOR INFRASTRUCTURE SOFTWARE, 2009, : 31 - 35
  • [10] Aspect-oriented design in Java']Java/AspectJ and Ruby
    Wampler, Dean
    [J]. 29th International Conference on Software Engineering: ICSE 2007 Companion Volume, Proceedings, 2007, : 184 - 185