Software development is an ongoing process which does not end when the first version of an application is released. Bugs must be fixed and requirements evolve. Maintaining an application usually means to stop the application, apply the required changes, and start the application again. This downtime is not acceptable for applications that must be available 24 hours a day, 7 days a week. On the other hand even for end-user desktop applications, restarts to apply patches can be an annoying user experience. For that reason we investigate how to maintain applications at runtime. However, due to the fact that it is not predictable what changes become necessary and when they have to be applied the application must be enabled for unanticipated cha...
International audienceTraditionally an execution environment faces a trade-off between providing hig...
Continuous availability is a highly desired functionality in the field of information technology, es...
Abstract—We present a technique to make applications re-silient to failures. This technique is inten...
TDuring maintenance, systems are updated to correct faults, improve functionality, and adapt the s...
Software is changed frequently during its life cycle. New requirements come, and bugs must be \ufb01...
ii iii This dissertation is about allowing existing applications to be updated while running. By com...
Modern software systems that play critical roles in society are often required to change at runtime ...
Software Engineering TrackInternational audienceReal-time features and software runtime adaptation a...
Modern software must evolve in response to changing conditions. In the most widely used programming ...
International audienceWhile JAVA has become a de facto standard for mobile code and distributed prog...
The requirement for 24/7 availability of distributed applications complicates their maintenance and ...
Dynamic code evolution is a technique to update a program while it is running. In an object-oriented...
This work concerns with dynamic evolution of applications written in Java. It investigates existing ...
There is a growing class of applications implemented in object-oriented languages that are large and...
Refactorings of software components (e.g., libraries and frameworks) can change the APIs of the comp...
International audienceTraditionally an execution environment faces a trade-off between providing hig...
Continuous availability is a highly desired functionality in the field of information technology, es...
Abstract—We present a technique to make applications re-silient to failures. This technique is inten...
TDuring maintenance, systems are updated to correct faults, improve functionality, and adapt the s...
Software is changed frequently during its life cycle. New requirements come, and bugs must be \ufb01...
ii iii This dissertation is about allowing existing applications to be updated while running. By com...
Modern software systems that play critical roles in society are often required to change at runtime ...
Software Engineering TrackInternational audienceReal-time features and software runtime adaptation a...
Modern software must evolve in response to changing conditions. In the most widely used programming ...
International audienceWhile JAVA has become a de facto standard for mobile code and distributed prog...
The requirement for 24/7 availability of distributed applications complicates their maintenance and ...
Dynamic code evolution is a technique to update a program while it is running. In an object-oriented...
This work concerns with dynamic evolution of applications written in Java. It investigates existing ...
There is a growing class of applications implemented in object-oriented languages that are large and...
Refactorings of software components (e.g., libraries and frameworks) can change the APIs of the comp...
International audienceTraditionally an execution environment faces a trade-off between providing hig...
Continuous availability is a highly desired functionality in the field of information technology, es...
Abstract—We present a technique to make applications re-silient to failures. This technique is inten...