Document Type
Technical Report
Publication Date
2004-08-24
Technical Report Number
WUCSE-2004-81
Abstract
Software modification at run-time can facilitate rapid prototyping, streamline development and debugging, and enable interactive educational programming environments. However, sup-porting live fine-grain program modification while reaping the benefits of a compiled type-safe language is a challenging problem. This paper presents fine-grain dynamic classes that support live object-oriented software development in which a program can be modified during execution. We present an implementation of dynamic classes in Java that does not require modification of the Java Virtual Machine. Our implementation supports full interoperability between instances of dynamic classes and compiled classes, including polymorphism, with minimal overhead. Changes to dynamic classes, such as the declaration of instance variables and methods, as well as the modification of statements and expressions within method bodies, take immediate effect on existing instances of those classes. We describe benefits of using dynamic classes in the context of a tightly integrated development environment.
Recommended Citation
Goldman, Kenneth G., "Live Software Development with Dynamic Classes" Report Number: WUCSE-2004-81 (2004). All Computer Science and Engineering Research.
https://openscholarship.wustl.edu/cse_research/1052
Comments
Permanent URL: http://dx.doi.org/10.7936/K7FJ2F4Q