A language model for dynamic code updating

Pierre Duquesne, Ciarán Bryce · 2008

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.

Read the paper · More papers on PaperTik