Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Runtime Support for Type-Safe Dynamic Java Classes
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
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
Proceedings of the 4th international conference on Aspect-oriented software development
Common Lisp: The Language
Controlled, systematic, and efficient code replacement for running java programs
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
Dynamic software updates: a VM-centric approach
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Advanced runtime adaptation for Java
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
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
Exploring large profiles with calling context ring charts
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
Visualizing and exploring profiles with calling context ring charts
Software—Practice & Experience
Dynamic code evolution for Java
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
Implications of modular systems on dynamic updating
Proceedings of the 14th international ACM Sigsoft symposium on Component based software engineering
Safe and atomic run-time code evolution for Java and its application to dynamic AOP
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Unrestricted and safe dynamic code evolution for Java
Science of Computer Programming
Hi-index | 0.00 |
While dynamic code evolution in object-oriented systems is an important feature supported by dynamic languages, there is currently only limited support for dynamic code evolution in high-performance, state-of-the-art runtime systems for statically typed languages, such as the Java Virtual Machine. In this tool demonstration, we present the Dynamic Code Evolution VM, which is based on a recent version of Oracle's state-of-the-art Java HotSpot(TM) VM and allows unlimited changes to loaded classes at runtime. Based on the Dynamic Code Evolution VM, we developed an enhanced version of the Mantisse GUI builder (which is part of the NetBeans IDE) that allows adding GUI components without restarting the application under development. Furthermore, we redesigned the dynamic AOP framework HotWave to take advantage of the enhanced dynamic code evolution capabilities. The new version, HotWave2, now supports most AspectJ constructs, including around() advice and static cross-cutting. We will demonstrate both the enhanced Mantisse GUI builder as well as HotWave2, weaving several aspects for dynamic analysis in sizable applications at runtime.