25 research outputs found
LNCS
We present layered concurrent programs, a compact and expressive notation for specifying refinement proofs of concurrent programs. A layered concurrent program specifies a sequence of connected concurrent programs, from most concrete to most abstract, such that common parts of different programs are written exactly once. These programs are expressed in the ordinary syntax of imperative concurrent programs using gated atomic actions, sequencing, choice, and (recursive) procedure calls. Each concurrent program is automatically extracted from the layered program. We reduce refinement to the safety of a sequence of concurrent checker programs, one each to justify the connection between every two consecutive concurrent programs. These checker programs are also automatically extracted from the layered program. Layered concurrent programs have been implemented in the CIVL verifier which has been successfully used for the verification of several complex concurrent programs
History-based verification of functional behaviour of concurrent programs
Modular verification of the functional behaviour of a concurrent program remains a challenge. We propose a new way to achieve this, using histories, modelled as process algebra terms, to keep track of local changes. When threads terminate or synchronise in some other way, local histories are combined into global histories, and by resolving the global histories, the reachable state properties can be determined. Our logic is an extension of permission-based separation logic, which supports expressive and intuitive specifications. We discuss soundness of the approach, and illustrate it on several examples
An Axiomatic Approach to Liveness for Differential Equations
This paper presents an approach for deductive liveness verification for
ordinary differential equations (ODEs) with differential dynamic logic.
Numerous subtleties complicate the generalization of well-known discrete
liveness verification techniques, such as loop variants, to the continuous
setting. For example, ODE solutions may blow up in finite time or their
progress towards the goal may converge to zero. Our approach handles these
subtleties by successively refining ODE liveness properties using ODE
invariance properties which have a well-understood deductive proof theory. This
approach is widely applicable: we survey several liveness arguments in the
literature and derive them all as special instances of our axiomatic refinement
approach. We also correct several soundness errors in the surveyed arguments,
which further highlights the subtlety of ODE liveness reasoning and the utility
of our deductive approach. The library of common refinement steps identified
through our approach enables both the sound development and justification of
new ODE liveness proof rules from our axioms.Comment: FM 2019: 23rd International Symposium on Formal Methods, Porto,
Portugal, October 9-11, 201
Justness: A Completeness Criterion for Capturing Liveness Properties (Extended Abstract)
This paper poses that transition systems constitute a good model of
distributed systems only in combination with a criterion telling which paths
model complete runs of the represented systems. Among such criteria, progress
is too weak to capture relevant liveness properties, and fairness is often too
strong; for typical applications we advocate the intermediate criterion of
justness. Previously, we proposed a definition of justness in terms of an
asymmetric concurrency relation between transitions. Here we define such a
concurrency relation for the transition systems associated to the process
algebra CCS as well as its extensions with broadcast communication and signals,
thereby making these process algebras suitable for capturing liveness
properties requiring justness.Comment: An extended abstract of this paper appears in Proc. FoSSaCS'1
Exploring behaviors of stochastic differential equation models of biological systems using change of measures
Stochastic Differential Equations (SDE) are often used to model the stochastic dynamics of biological systems. Unfortunately, rare but biologically interesting behaviors (e.g., oncogenesis) can be difficult to observe in stochastic models. Consequently, the analysis of behaviors of SDE models using numerical simulations can be challenging. We introduce a method for solving the following problem: given a SDE model and a high-level behavioral specification about the dynamics of the model, algorithmically decide whether the model satisfies the specification. While there are a number of techniques for addressing this problem for discrete-state stochastic models, the analysis of SDE and other continuous-state models has received less attention. Our proposed solution uses a combination of Bayesian sequential hypothesis testing, non-identically distributed samples, and Girsanov's theorem for change of measures to examine rare behaviors. We use our algorithm to analyze two SDE models of tumor dynamics. Our use of non-identically distributed samples sampling contributes to the state of the art in statistical verification and model checking of stochastic models by providing an effective means for exposing rare events in SDEs, while retaining the ability to compute bounds on the probability that those events occur