5 research outputs found
Efficient computer-aided verification of parallel and distributed software systems
The society is becoming increasingly dependent on applications of distributed software systems, such as controller systems and wireless telecommunications. It is very difficult to guarantee the correct operation of this kind of systems with traditional software quality assurance methods, such as code reviews and testing. Formal methods, which are based on mathematical theories, have been suggested as a solution. Unfortunately, the vast complexity of the systems and the lack of competent personnel have prevented the adoption of sophisticated methods, such as theorem proving.
Computerised tools for verifying finite state asynchronous systems exist, and they been successful on locating errors in relatively small software systems. However, a direct translation of software to low-level formal models may lead to unmanageably large models or complex behaviour. Abstract models and algorithms that operate on compact high-level designs are needed to analyse larger systems.
This work introduces modelling formalisms and verification methods of distributed systems, presents efficient algorithms for verifying high-level models of large software systems, including an automated method for abstracting unneeded details from systems consisting of loosely connected components, and shows how the methods can be applied in the software development industry.reviewe
An Algorithm for Stuttering Equivalence and Branching Bisimulation
We provide a new algorithm to determine stuttering equivalence with time
complexity , where is the number of states and is the
number of transitions of a Kripke structure. This algorithm can also be used to
determine branching bisimulation in time
where is the set of actions in a labelled transition system.
Theoretically, our algorithm substantially improves upon existing algorithms
which all have time complexity at best. Moreover, it has better or
equal space complexity. Practical results confirm these findings showing that
our algorithm can outperform existing algorithms with orders of magnitude,
especially when the sizes of the Kripke structures are large. The importance of
our algorithm stretches far beyond stuttering equivalence and branching
bisimulation. The known algorithms were already far more efficient
(both in space and time) than most other algorithms to determine behavioural
equivalences (including weak bisimulation) and therefore it was often used as
an essential preprocessing step. This new algorithm makes this use of
stuttering equivalence and branching bisimulation even more attractive.Comment: A shortened version of this technical report has been published in
the proceedings of TACAS 201
Model checking of component connectors
We present a framework for automata theoretic model checking of coordination systems specified in Reo coordination language. To this goal, we introduce Buchi automata of records (BAR) and their augmented version (ABAR) as an operational modeling formalism that covers several intended forms of behavior of Reo connectors, such as fairness, I/O synchronization, and context dependency. To specify the properties to be verified, we introduce an action based linear temporal logic, interpreted over the executions of augmented Buchi automata of records, and show how the formulas can be translated into ABARs. This translation can be done either inductively, or by using an on-the-fly method. To deal with the large state spaces, we show that ABARs can be implemented using ordered binary decision diagrams (OBDD). For this purpose, we also introduce the necessary modifications over the basic model checking algorithm that can be applied directly over OBDD structures. Our implementation and a number of case studies that we carried out show the applicability of our method over large state spaces. We also show that the state explosion problem can be tackled by compositional minimization methods using some suitable equivalence relations. In fact, we show two equivalences that are congruencies with respect to the connector composition operators and such that they both preserves linear time temporal logic properties.UBL - phd migration 201