Publications


Publication TypeDateFunding


JooFlux: Hijacking Java 7 InvokeDynamic To Support Live Code Modifications

J. Ponge and F. Le Mouël. JooFlux: Hijacking Java 7 InvokeDynamic To Support Live Code Modifications. Research Report INRIA CITI Lab, INSA Lyon, 2012.

Download

[PDF] [HTML] 

BibTeX Entry

@TechReport{ponge:hal-00737897,
  hal_id                   = {hal-00737897},
  url                      = {http://hal.inria.fr/hal-00737897},
  title                    = {{JooFlux: Hijacking Java 7 InvokeDynamic To Support Live Code Modifications}},
  author                   = {Ponge, J. and Le Mou{\"e}l, F.},
  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. This paves the way for interesting future evolutions and applications of JooFlux.}},
  keywords                 = {JVM, runtime patches, AOP, invokedynamic bytecode},
  language                 = {English},
  affiliation              = {CITI Centre of Innovation in Telecommunications and Integration of services - CITI},
  type                     = {Research Report},
  institution              = {INRIA CITI Lab, INSA Lyon},
  year                     = {2012},
  month                    = Oct,
  pdf                      = {http://www.le-mouel.net/Research/Publications/Technical_Reports/2012/jooflux-rr.pdf},
  bib2html_pubtype         = {Research and Technical Reports}
}