JooFlux : modification de code \`a chaud et injection d'aspects directement dans une JVM 7
Julien Ponge (CITI), Fr\'ed\'eric Le Mou\"el (CITI)

TL;DR
JooFlux is a JVM agent enabling runtime code modification and aspect injection in Java 7, leveraging invokedynamic for efficient dynamic updates with minimal overhead.
Contribution
It introduces a JVM agent that performs bytecode transformation for dynamic method replacement and aspect application without a domain-specific language.
Findings
Performance close to standard Java with minimal overhead
Outperforms existing AOP platforms and dynamic languages in efficiency
Enables runtime modifications via JMX without extra languages
Abstract
Changing functional and non-functional software implementation at runtime is useful and even sometimes critical both in development and production environments. JooFlux is a JVM agent that allows both the dynamic replacement of method implementations and the application of aspect advices. It works by doing bytecode transformation to take advantage of the new invokedynamic instruction added in Java SE 7 to help implementing dynamic languages for the JVM. JooFlux can be managed using a JMX agent so as to operate dynamic modifications at runtime, without resorting to a dedicated domain-specific language. We compared JooFlux with existing AOP platforms and dynamic languages. Results demonstrate that JooFlux performances are close to the Java ones --- with most of the time a marginal overhead, and sometimes a gain --- where AOP platforms and dynamic languages present significant overheads.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Software System Performance and Reliability
