Zones, contracts and absorbing changes: an approach to software evolution
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Towards partially evaluating reflection in Java
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Customization of object request brokers by application specific policies
IFIP/ACM International Conference on Distributed systems platforms
Runtime aspect weaving through metaprogramming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Dynamic weaving for aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Just-in-time aspects: efficient dynamic weaving for Java
Proceedings of the 2nd international conference on Aspect-oriented software development
Web cache prefetching as an aspect: towards a dynamic-weaving based solution
Proceedings of the 2nd international conference on Aspect-oriented software development
Caching Strategies for Data-Intensive Web Sites
VLDB '00 Proceedings of the 26th International Conference on Very Large Data Bases
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
DJ: Dynamic Adaptive Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
OpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Customization of Component-Based Object Request Brokers through Dynamic Reconfiguration
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 33)
An easy-to-use toolkit for efficient Java bytecode translators
Proceedings of the 2nd international conference on Generative programming and component engineering
Overview of the IBM Java just-in-time compiler
IBM Systems Journal
IBM Systems Journal
A compilation and optimization model for aspect-oriented programs
CC'03 Proceedings of the 12th international conference on Compiler construction
Remote pointcut: a language construct for distributed AOP
Proceedings of the 3rd international conference on Aspect-oriented software development
Morphing aspects: incompletely woven aspects and continuous weaving
Proceedings of the 3rd international conference on Aspect-oriented software development
Virtual machine support for dynamic join points
Proceedings of the 3rd international conference on Aspect-oriented software development
On adaptable middleware product lines
ARM '04 Proceedings of the 3rd workshop on Adaptive and reflective middleware
JAC: an aspect-based distributed dynamic framework
Software—Practice & Experience
Dynamic weaving for runtime adaptation in middleware
MAI '07 Proceedings of the 1st workshop on Middleware-application interaction: in conjunction with Euro-Sys 2007
Using common off-the-shelf tools to implement dynamic aspects
ACM SIGPLAN Notices
AO4BPEL: An Aspect-oriented Extension to BPEL
World Wide Web
Support for distributed adaptations in aspect-oriented middleware
Proceedings of the 7th international conference on Aspect-oriented software development
Modeling for dynamic aspect-oriented development
C3S2E '09 Proceedings of the 2nd Canadian Conference on Computer Science and Software Engineering
Using software product lines for runtime interoperability
Proceedings of the Workshop on AOP and Meta-Data for Software Evolution
Feature-oriented runtime adaptation
Proceedings of the 2009 ESEC/FSE workshop on Software integration and evolution @ runtime
HotWave: creating adaptive tools with dynamic aspect-oriented programming in Java
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Computer Languages, Systems and Structures
Dynamic AspectC++: Generic Advice at Any Time
Proceedings of the 2009 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the Eighth SoMeT_09
Semantic Weaving for Context-Aware Web Service Composition
WISE '09 Proceedings of the 10th International Conference on Web Information Systems Engineering
Parallel dynamic analysis on multicores with aspect-oriented programming
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Unification of static and dynamic AOP for evolution in embedded software systems
SC'07 Proceedings of the 6th international conference on Software composition
AspectC++: An integrated approach for static and dynamic adaptation of system software
Knowledge-Based Systems
Distributed dynamic weaving is a crosscutting concern
Proceedings of the 2011 ACM Symposium on Applied Computing
Loosely-separated “sister” namespaces in java
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Program transformation with reflection and aspect-oriented programming
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
Dynamic AOP (Aspect-Oriented Programming) is receiving growing interests in both the academia and the industry. Since it allows weaving aspects with a program at runtime, it is useful for rapid prototyping and adaptive software. However, the previous implementations of dynamic AOP systems suffered from serious performance penalties. This paper presents our new efficient dynamic AOP system in Java for addressing the underlying problem. This system called Wool is a hybrid of two approaches. When a new aspect is woven in, the programmers can select to reload into the JVM a modified class file in which hooks for executing advice are statically embedded, or they can insert hooks as breakpoints in the JVM. Since the two approaches have different performance characteristics, the programmers can select the best one for each join point. Our experimental result shows, under a certain circumstance, Wool runs dynamic AOP application about 26% faster than a traditional static code translation approach.