Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Distributed programming in Argus
Communications of the ACM
Constructing Distributed Systems in Conic
IEEE Transactions on Software Engineering
An approach to genuine dynamic linking
Software—Practice & Experience
The Information Bus: an architecture for extensible distributed systems
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
On line software version change using state transfer between processes
Software—Practice & Experience
A Component- and Message-Based Architectural Style for GUI Software
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Managing class evolution in object-oriented systems
Object-oriented software composition
Communications of the ACM
Object-oriented Common Lisp
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Software—Practice & Experience
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Supporting reconfigurable security policies for mobile programs
Proceedings of the 9th international World Wide Web conference on Computer networks : the international journal of computer and telecommunications netowrking
Java Security: Present and Near Future
IEEE Micro
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Type-Safe Delegation for Run-Time Component Adaptation
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Providing Fine-grained Access Control for Java Programs
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
How to design a system in which modules can be changed on the fly
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Cross-Address Space Dynamic Linking
Cross-Address Space Dynamic Linking
USITS'97 Proceedings of the USENIX Symposium on Internet Technologies and Systems on USENIX Symposium on Internet Technologies and Systems
Dynamic C++ classes: a lightweight mechanism to update code in a running program
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Automatic program transformation with JOIE
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
Evolution in Action: Using Active Networking to Evolve Network Support for Mobility
IWAN '02 Proceedings of the IFIP-TC6 4th International Working Conference on Active Networks
Dynamic Module Replacement in Distributed Protocols
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
Hotswapping Linux kernel modules
Journal of Systems and Software
Dynamic Software Updates for Accelerating Scientific Discovery
ICCS '09 Proceedings of the 9th International Conference on Computational Science: Part I
Dynamic Classes: Modular Asynchronous Evolution of Distributed Concurrent Objects
FM '09 Proceedings of the 2nd World Congress on Formal Methods
Supporting dynamic aspect-oriented features
ACM Transactions on Software Engineering and Methodology (TOSEM)
Dynamic code evolution for Java
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Mostly modular compilation of crosscutting concerns by contextual predicate dispatch
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Modelling the asynchronous dynamic evolution of architectural types
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
Proceedings of the 7th Workshop on Reflection, AOP and Meta-Data for Software Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
Analyzing software updates: should you build a dynamic updating infrastructure?
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
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
Predicate-C: an efficient and generic runtime system for predicate dispatch
Proceedings of the 6th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
Runtime adaptation of applications through dynamic recomposition of components
ARCS'05 Proceedings of the 18th international conference on Architecture of Computing Systems conference on Systems Aspects in Organic and Pervasive Computing
A dynamic class construct for asynchronous concurrent objects
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
On correctness of dynamic protocol update
FMOODS'05 Proceedings of the 7th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Loosely-separated “sister” namespaces in java
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
A class-based object calculus of dynamic binding: reduction and properties
SC'06 Proceedings of the 5th international conference on Software Composition
Using first-class contexts to realize dynamic software updates
Proceedings of the International Workshop on Smalltalk Technologies
Evolution on-the-fly with paradigm
COORDINATION'06 Proceedings of the 8th international conference on Coordination Models and Languages
Type-Safe runtime class upgrades in creol
FMOODS'06 Proceedings of the 8th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
Incremental dynamic updates with first-class contexts
TOOLS'12 Proceedings of the 50th international conference on Objects, Models, Components, Patterns
Unrestricted and safe dynamic code evolution for Java
Science of Computer Programming
Runtime support for type-safe and context-based behavior adaptation
Frontiers of Computer Science: Selected Publications from Chinese Universities
Hi-index | 0.00 |
Modern software must evolve in response to changing conditions. In the most widely used programming environments, code is static and cannot change at runtime. This poses problems for applications that have limited down-time. More support is needed for dynamic evolution. In this paper we present an approach for supporting dynamic evolution of Java programs. In this approach, Java programs can evolve by changing their components, namely classes, during their execution. Changes in a class lead to changes in its instances, thereby allowing evolution of both code and state. The approach promotes compatibility with existing Java applications, and maintains the security and type safety controls imposed by Java's dynamic linking mechanism. Experimental analyses of our implementation indicate that the implementation imposes a moderate performance penalty relative to the unmodified virtual machine.