Formalization and verification of behavioral correctness of dynamic software updates

Min Zhang, Kazuhiro Ogata, Kokichi Futatsugi

Research output: Contribution to journalArticlepeer-review

13 Scopus citations

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.

Original languageEnglish
Pages (from-to)12-23
Number of pages12
JournalElectronic Notes in Theoretical Computer Science
Volume294
DOIs
StatePublished - 22 Mar 2013
Externally publishedYes

Keywords

  • dynamic software updating algebraic specification verification behavioral property

Fingerprint

Dive into the research topics of 'Formalization and verification of behavioral correctness of dynamic software updates'. Together they form a unique fingerprint.

Cite this