A formal verification of dynamic updating in a Java-based embedded system
No Thumbnail Available
Date
2017
Journal Title
Journal ISSN
Volume Title
Publisher
Inderscience
Abstract
Dynamic software updating (DSU) consists in updating running
programs on the fly without any downtime. This feature is interesting in critical
applications that must run continuously. Because updates may lead to safety
errors and security breaches, the question of their correctness is raised. Formal
methods are a rigorous means to ensure the correctness required by applications
using DSU. In this paper, we present a formal verification of correctness
of DSU in a Java-based embedded system. Our approach is based on
three major contributions. First, a formal interpretation of the semantic of
update operations to ensure type safety of the update. Secondly, we rely on a
functional representation of bytecode, the predicate transformation calculus and
a functional model of the update mechanism to ensure the behavioural
correctness of the updated programs. It is based on the use of Hoare predicate
transformation to derive a specification of an updated bytecode. Thirdly, we
use the functional representation to model the safe update point detection
Description
Keywords
Dynamic software updating, Formal verification, Weakest precondition calculus, Dynamic update safety, Critical systems
