872 research outputs found
Conformance relations for distributed testing based on CSP
Copyright @ 2011 Springer Berlin HeidelbergCSP is a well established process algebra that provides comprehensive theoretical and practical support for refinement-based design and verification of systems. Recently, a testing theory for CSP has also been presented. In this paper, we explore the problem of testing from a CSP specification when observations are made by a set of distributed testers. We build on previous work on input-output transition systems, but the use of CSP leads to significant differences, since some of its conformance (refinement) relations consider failures as well as traces. In addition, we allow events to be observed by more than one tester. We show how the CSP notions of refinement can be adapted to distributed testing. We consider two contexts: when the testers are entirely independent and when they can cooperate. Finally, we give some preliminary results on test-case generation and the use of coordination messages. Ā© 2011 IFIP International Federation for Information Processing
Models for CSP with availability information
We consider models of CSP based on recording what events are available as
possible alternatives to the events that are actually performed. We present
many different varieties of such models. For each, we give a compositional
semantics, congruent to the operational semantics, and prove full abstraction
and no-junk results. We compare the expressiveness of the different models.Comment: In Proceedings EXPRESS'10, arXiv:1011.601
Compositional software verification based on game semantics
One of the major challenges in computer science is to put programming on a firmer mathematical basis, in order to improve the correctness of computer programs. Automatic program verification is acknowledged to be a very hard problem, but current work is reaching the point where at least the foundationalĆ?ĆĀ· aspects of the problem can be addressed and it is becoming a part of industrial software development. This thesis presents a semantic framework for verifying safety properties of open sequ;ptial programs. The presentation is focused on an Algol-like programming language that embodies many of the core ingredients of imperative and functional languages and incorporates data abstraction in its syntax. Game semantics is used to obtain a compositional, incremental way of generating accurate models of programs. Model-checking is made possible by giving certain kinds of concrete automata-theoretic representations of the model. A data-abstraction refinement procedure is developed for model-checking safety properties of programs with infinite integer types. The procedure starts by model-checking the most abstract version of the program. If no counterexample, or a genuine one, is found, the procedure terminates. Otherwise, it uses a spurious counterexample to refine the abstraction for the next iteration. Abstraction refinement, assume-guarantee reasoning and the L* algorithm for learning regular languages are combined to yield a procedure for compositional verification. Construction of a global model is avoided using assume-guarantee reasoning and the L* algorithm, by learning assumptions for arbitrary subprograms. An implementation based on the FDR model checker for the CSP process algebra demonstrates practicality of the methods
Managing LTL properties in Event-B refinement
Refinement in Event-B supports the development of systems via proof based
step-wise refinement of events. This refinement approach ensures safety
properties are preserved, but additional reasoning is required in order to
establish liveness and fairness properties.
In this paper we present results which allow a closer integration of two
formal methods, Event-B and linear temporal logic. In particular we show how a
class of temporal logic properties can carry through a refinement chain of
machines. Refinement steps can include introduction of new events, event
renaming and event splitting. We also identify a general liveness property that
holds for the events of the initial system of a refinement chain. The approach
will aid developers in enabling them to verify linear temporal logic properties
at early stages of a development, knowing they will be preserved at later
stages. We illustrate the results via a simple case study
Temporal Reasoning Through Automatic Translation of tock-CSP into Timed Automata
In this work, we present an approach for automatic translation of tock-CSP into Timed Automata (TA) for Uppaal to facilitate using Uppaal in reasoning about temporal specifications of tock-CSP models. The process algebra tock-CSP provides textual notations for modelling discrete-time behaviours, with the support of tools for automatic verification. Automatic verification of TA with a graphical notation is supported by Uppaal. The two approaches provide facilities for automatic verification. For instance, liveness requirements are difficult to specify with the constructs of tock-CSP, but they are easy to specify and verify in Uppaal. We have developed a translation technique and a tool based for translating tock-CSP into a network of small TAs for capturing the compositional structure of tock-CSP. For validating the rules, we begin with an experimental approach based on finite approximations to trace sets. Then, we explore using structural induction to establish the correctness
A UTP semantics for communicating processes with shared variables and its formal encoding in PVS
CSP# (communicating sequential programs) is a modelling language designed for specifying concurrent systems by integrating CSP-like compositional operators with sequential programs updating shared variables. In this work, we define an observation-oriented denotational semantics in an open environment for the CSP# language based on the UTP framework. To deal with shared variables, we lift traditional event-based traces into mixed traces which consist of state-event pairs for recording process behaviours. To capture all possible concurrency behaviours between action/channel-based communications and global shared variables, we construct a comprehensive set of rules on merging traces from processes which run in parallel/interleaving. We also define refinement to check process equivalence and present a set of algebraic laws which are established based on our denotational semantics. We further encode our proposed denotational semantics into the PVS theorem prover. The encoding not only ensures the semantic consistency, but also builds up a theoretic foundation for machine-assisted verification of CSP# specifications.Full Tex
A Pattern-based deadlock-freedom analysis strategy for concurrent systems
Local analysis has long been recognised as an effective tool to combat the
state-space explosion problem. In this work, we propose a method that
systematises the use of local analysis in the verification of deadlock freedom
for concurrent and distributed systems. It combines a strategy for system
decomposition with the verification of the decomposed subsystems via adherence
to behavioural patterns. At the core of our work, we have a number of CSP
refinement expressions that allows the user of our method to automatically
verify all the behavioural restrictions that we impose. We also propose a
prototype tool to support our method. Finally, we demonstrate the practical
impact our method can have by analysing how it fares when applied to some
examples
Extending Hybrid CSP with Probability and Stochasticity
Probabilistic and stochastic behavior are omnipresent in computer controlled
systems, in particular, so-called safety-critical hybrid systems, because of
fundamental properties of nature, uncertain environments, or simplifications to
overcome complexity. Tightly intertwining discrete, continuous and stochastic
dynamics complicates modelling, analysis and verification of stochastic hybrid
systems (SHSs). In the literature, this issue has been extensively
investigated, but unfortunately it still remains challenging as no promising
general solutions are available yet. In this paper, we give our effort by
proposing a general compositional approach for modelling and verification of
SHSs. First, we extend Hybrid CSP (HCSP), a very expressive and process
algebra-like formal modeling language for hybrid systems, by introducing
probability and stochasticity to model SHSs, which is called stochastic HCSP
(SHCSP). To this end, ordinary differential equations (ODEs) are generalized by
stochastic differential equations (SDEs) and non-deterministic choice is
replaced by probabilistic choice. Then, we extend Hybrid Hoare Logic (HHL) to
specify and reason about SHCSP processes. We demonstrate our approach by an
example from real-world.Comment: The conference version of this paper is accepted by SETTA 201
Towards Symbolic Model-Based Mutation Testing: Combining Reachability and Refinement Checking
Model-based mutation testing uses altered test models to derive test cases
that are able to reveal whether a modelled fault has been implemented. This
requires conformance checking between the original and the mutated model. This
paper presents an approach for symbolic conformance checking of action systems,
which are well-suited to specify reactive systems. We also consider
nondeterminism in our models. Hence, we do not check for equivalence, but for
refinement. We encode the transition relation as well as the conformance
relation as a constraint satisfaction problem and use a constraint solver in
our reachability and refinement checking algorithms. Explicit conformance
checking techniques often face state space explosion. First experimental
evaluations show that our approach has potential to outperform explicit
conformance checkers.Comment: In Proceedings MBT 2012, arXiv:1202.582
- ā¦