A language model for dynamic code updating

  • Authors:
  • Pierre Duquesne;Ciarán Bryce

  • Affiliations:
  • INRIA Rennes, Campus de Beaulieu, Rennes, France;INRIA Rennes, Campus de Beaulieu, Rennes, France

  • Venue:
  • Proceedings of the 1st International Workshop on Hot Topics in Software Upgrades
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic software update is often achieved by relinking functions of an executing program. However, this approach can lead to unpredictable execution and undesirable behavior, even when type-safety is ensured. This paper presents a language model for single-threaded programs to address this issue. Programs still use functions, but the unit of update is the whole program. A new language construct called a stage is introduced that encapsulates any part of a program along with its execution. Stages are linked together via routes, and an update is effected by making the execution flow switch to the new program version by resetting routes.