Skip to Main content Skip to Navigation

Dynamic Software Update for Production and Live Programming Environments

Pablo Tesone 1, 2 
2 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189
Abstract : Updating applications during their execution is used both in production to minimize application downtime and in integrated development environments to provide live programming support. Nevertheless, these two scenarios present different challenges making Dynamic Software Update (DSU) solutions to be specifically designed for only one of these use cases. For example, DSUs for live programming typically do not implement safe point detection or instance migration, while production DSUs require manual generation of patches and lack IDE integration. These solutions also have a limited ability to update themselves or the language core libraries and some of them present execution penalties outside the update window. In this PhD, we propose a unified DSU named gDSU for both live programming and production environments. gDSU provides safe update point detection using call stack manipulation and a reusable instance migration mechanism to minimize manual intervention in patch generation. It also supports updating the core language libraries as well as the update mechanism itself thanks to its incremental copy of the modified objects and its atomic commit operation. gDSU does not affect the global performance of the application and it presents only a run-time penalty during the update window. For example, gDSU is able to apply an update impacting 100,000 instances in 1 second making the application not responsive for only 250 milliseconds. The rest of the time the application runs normally while gDSU is looking for a safe update point during which modified elements will be copied. We also present extensions of gDSU to support transactional live programming and atomic automatic refactorings which increase the usability of live programming environments.
Document type :
Complete list of metadata

Cited literature [122 references]  Display  Hide  Download
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Tuesday, February 19, 2019 - 4:33:07 PM
Last modification on : Monday, June 27, 2022 - 3:05:02 AM
Long-term archiving on: : Monday, May 20, 2019 - 5:44:48 PM


main (1).pdf
Files produced by the author(s)


  • HAL Id : tel-02025442, version 1


Pablo Tesone. Dynamic Software Update for Production and Live Programming Environments. Software Engineering [cs.SE]. IMT Lille Douai, 2018. English. ⟨tel-02025442⟩



Record views


Files downloads