Formalization and Verification of Behavioral Correctness of Dynamic Software Updates.

Min Zhang,Kazuhiro Ogata,Kokichi Futatsugi
DOI: https://doi.org/10.1016/j.entcs.2013.02.013
2013-01-01
Electronic Notes in Theoretical Computer Science
Abstract:Dynamic Software Updating (DSU) is a technique of updating running software systems on-the-fly. Whereas there are some studies on the correctness of dynamic updating, they focus on how to deploy updates correctly at the code level, e.g., if procedures refer to the data of correct types. However, little attention has been paid to the correctness of the dynamic updating at the behavior level, e.g., if systems after being updated behave as expected, and if unexpected behaviors can never occur. We present an algebraic methodology of specifying dynamic updates and verifying their behavioral correctness by using off-the-shelf theorem proving and model checking tools. By theorem proving we can show that systems after being updated indeed satisfy their desired properties, and by model checking we can detect potential errors. Our methodology is general in that: (1) it can be applied to three updating models that are mainly used in current DSU systems; and (2) it is not restricted to dynamic updates for certain programming models.
What problem does this paper attempt to address?