1,173 research outputs found
Symbolic Algorithms for Language Equivalence and Kleene Algebra with Tests
We first propose algorithms for checking language equivalence of finite
automata over a large alphabet. We use symbolic automata, where the transition
function is compactly represented using a (multi-terminal) binary decision
diagrams (BDD). The key idea consists in computing a bisimulation by exploring
reachable pairs symbolically, so as to avoid redundancies. This idea can be
combined with already existing optimisations, and we show in particular a nice
integration with the disjoint sets forest data-structure from Hopcroft and
Karp's standard algorithm. Then we consider Kleene algebra with tests (KAT), an
algebraic theory that can be used for verification in various domains ranging
from compiler optimisation to network programming analysis. This theory is
decidable by reduction to language equivalence of automata on guarded strings,
a particular kind of automata that have exponentially large alphabets. We
propose several methods allowing to construct symbolic automata out of KAT
expressions, based either on Brzozowski's derivatives or standard automata
constructions. All in all, this results in efficient algorithms for deciding
equivalence of KAT expressions
Control Plane Compression
We develop an algorithm capable of compressing large networks into a smaller
ones with similar control plane behavior: For every stable routing solution in
the large, original network, there exists a corresponding solution in the
compressed network, and vice versa. Our compression algorithm preserves a wide
variety of network properties including reachability, loop freedom, and path
length. Consequently, operators may speed up network analysis, based on
simulation, emulation, or verification, by analyzing only the compressed
network. Our approach is based on a new theory of control plane equivalence. We
implement these ideas in a tool called Bonsai and apply it to real and
synthetic networks. Bonsai can shrink real networks by over a factor of 5 and
speed up analysis by several orders of magnitude.Comment: Extended version of the paper appearing in ACM SIGCOMM 201
Sigref ā A Symbolic Bisimulation Tool Box
We present a uniform signature-based approach to compute the most popular bisimulations. Our approach is implemented symbolically using BDDs, which enables the handling of very large transition systems. Signatures for the bisimulations are built up from a few generic building blocks, which naturally correspond to efficient BDD operations. Thus, the definition of an appropriate signature is the key for a rapid development of algorithms for other types of bisimulation.
We provide experimental evidence of the viability of this approach by presenting computational results for many bisimulations on real-world instances. The experiments show cases where our framework can handle state spaces efficiently that are far too large to handle for any tool that requires an explicit state space description.
This work was partly supported by the German Research Council (DFG) as part of the Transregional Collaborative Research Center āAutomatic Verification and Analysis of Complex Systemsā (SFB/TR 14 AVACS). See www.avacs.org for more information
Applying Formal Methods to Networking: Theory, Techniques and Applications
Despite its great importance, modern network infrastructure is remarkable for
the lack of rigor in its engineering. The Internet which began as a research
experiment was never designed to handle the users and applications it hosts
today. The lack of formalization of the Internet architecture meant limited
abstractions and modularity, especially for the control and management planes,
thus requiring for every new need a new protocol built from scratch. This led
to an unwieldy ossified Internet architecture resistant to any attempts at
formal verification, and an Internet culture where expediency and pragmatism
are favored over formal correctness. Fortunately, recent work in the space of
clean slate Internet design---especially, the software defined networking (SDN)
paradigm---offers the Internet community another chance to develop the right
kind of architecture and abstractions. This has also led to a great resurgence
in interest of applying formal methods to specification, verification, and
synthesis of networking protocols and applications. In this paper, we present a
self-contained tutorial of the formidable amount of work that has been done in
formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial
Convergence behaviour of structural FSM traversal
We present a theoretical analysis of structural FSM traversal, which is the basis for the sequential equivalence checking algorithm Record & Play presented earlier. We compare the convergence behaviour of exact and approximative structural FSM traversal with that of standard BDD-based FSM traversal. We show that for most circuits encountered in practice exact structural FSM traversal reaches the fixed point as fast as symbolic FSM traversal, while approximation can significantly reduce in the number of iterations needed. Our experiments confirm these results
Circuit Based Quantification: Back to State Set Manipulation within Unbounded Model Checking
In this paper a non-canonical circuit-based state set representation is used to efficiently perform quantifier elimination. The novelty of this approach lies in adapting equivalence checking and logic synthesis techniques, to the goal of compacting circuit based state set representations resulting from existential quantification. The method can be efficiently combined with other verification approaches such as inductive and SAT-based pre-image verifications
Partial Quantifier Elimination By Certificate Clauses
We study partial quantifier elimination (PQE) for propositional CNF formulas.
In contrast to full quantifier elimination, in PQE, one can limit the set of
clauses taken out of the scope of quantifiers to a small subset of target
clauses. The appeal of PQE is twofold. First, PQE can be dramatically simpler
than full quantifier elimination. Second, it provides a language for performing
incremental computations. Many verification problems (e.g. equivalence checking
and model checking) are inherently incremental and so can be solved in terms of
PQE. Our approach is based on deriving clauses depending only on unquantified
variables that make the target clauses . Proving redundancy
of a target clause is done by construction of a ``certificate'' clause implying
the former. We describe a PQE algorithm called that employs
the approach above. We apply to generating properties of a
design implementation that are not implied by specification. The existence of
an property means that this implementation is buggy. Our
experiments with HWMCC-13 benchmarks suggest that can be used
for generating properties of real-life designs
Conditional Transition Systems with Upgrades
We introduce a variant of transition systems, where activation of transitions
depends on conditions of the environment and upgrades during runtime
potentially create additional transitions. Using a cornerstone result in
lattice theory, we show that such transition systems can be modelled in two
ways: as conditional transition systems (CTS) with a partial order on
conditions, or as lattice transition systems (LaTS), where transitions are
labelled with the elements from a distributive lattice. We define equivalent
notions of bisimilarity for both variants and characterise them via a
bisimulation game.
We explain how conditional transition systems are related to featured
transition systems for the modelling of software product lines. Furthermore, we
show how to compute bisimilarity symbolically via BDDs by defining an operation
on BDDs that approximates an element of a Boolean algebra into a lattice. We
have implemented our procedure and provide runtime results
- ā¦