Results 1 
7 of
7
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 (multiterminal) binary decision diagrams (BDD). The key idea consists in computing a bisimulation by explo ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
(Show Context)
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 (multiterminal) 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 datastructure 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.
A Fast Compiler for NetKAT
 In Proc. ACM International Conference on Functional Programming
, 2015
"... Highlevel programming languages play a key role in a growing number of networking platforms, streamlining application development and enabling precise formal reasoning about network behavior. Unfortunately, current compilers only handle “local ” programs that specify behavior in terms of hopbyh ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Highlevel programming languages play a key role in a growing number of networking platforms, streamlining application development and enabling precise formal reasoning about network behavior. Unfortunately, current compilers only handle “local ” programs that specify behavior in terms of hopbyhop forwarding behavior, or modest extensions such as simple paths. To encode richer “global ” behaviors, programmers must add extra state—something that is tricky to get right and makes programs harder to write and maintain. Making matters worse, existing compilers can take tens of minutes to generate the forwarding state for the network, even on relatively small inputs. This forces programmers to waste time working around performance issues or even revert to using hardwarelevel APIs. This paper presents a new compiler for the NetKAT language that handles rich features including regular paths and virtual networks, and yet is several orders of magnitude faster than previous compilers. The compiler uses symbolic automata to calculate the extra state needed to implement “global ” programs, and an intermediate representation based on binary decision diagrams to dramatically improve performance. We describe the design and implementation of three essential compiler stages: from virtual programs (which specify behavior in terms of virtual topologies) to global programs (which specify networkwide behavior in terms of physical topologies), from global programs to local programs (which specify behavior in terms of singleswitch behavior), and from local programs to hardwarelevel forwarding tables. We present results from experiments on realworld benchmarks that quantify performance in terms of compilation time and forwarding table size.
PGA: Using Graphs to Express and Automatically Reconcile Network Policies
"... Software Defined Networking (SDN) and cloud automation enable a large number of diverse parties (network operators, application admins, tenants/endusers) and control programs (SDN Apps, network services) to generate network policies independently and dynamically. Yet existing policy abstractions a ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Software Defined Networking (SDN) and cloud automation enable a large number of diverse parties (network operators, application admins, tenants/endusers) and control programs (SDN Apps, network services) to generate network policies independently and dynamically. Yet existing policy abstractions and frameworks do not support natural expression and automatic composition of highlevel policies from diverse sources. We tackle the open problem of automatic, correct and fast composition of multiple independently specified network policies. We first develop a highlevel Policy Graph Abstraction (PGA) that allows network policies to be expressed simply and independently, and leverage the graph structure to detect and resolve policy conflicts efficiently. Besides supporting ACL policies, PGA also models and composes service chaining policies, i.e., the sequence of middleboxes to be traversed, by merging multiple service chain requirements into conflictfree composed chains. Our system validation using a large enterprise network policy dataset demonstrates practical composition times even for very large inputs, with only submillisecond runtime latencies. CCS Concepts •Networks → Programming interfaces; Network management; Middle boxes / network appliances; Network do
Kleene Algebra with Equations
"... Abstract. We identify sufficient conditions for the construction of free language models for systems of Kleene algebra with additional equations. The construction applies to a broad class of extensions of KA and provides a uniform approach to deductive completeness and coalgebraic decision procedur ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We identify sufficient conditions for the construction of free language models for systems of Kleene algebra with additional equations. The construction applies to a broad class of extensions of KA and provides a uniform approach to deductive completeness and coalgebraic decision procedures. 1
Completeness and Incompleteness in Nominal Kleene Algebra
, 2014
"... Gabbay and Ciancia (2011) presented a nominal extension of Kleene algebra as a framework for trace semantics with dynamic allocation of resources, along with a semantics consisting of nominal languages. They also provided an axiomatization that captures the behavior of the scoping operator and its ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Gabbay and Ciancia (2011) presented a nominal extension of Kleene algebra as a framework for trace semantics with dynamic allocation of resources, along with a semantics consisting of nominal languages. They also provided an axiomatization that captures the behavior of the scoping operator and its interaction with the Kleene algebra operators and proved soundness over nominal languages. In this paper we show that the axioms are complete and describe the free language models. 1
Nominal Kleene Coalgebra
"... Abstract. We develop the coalgebraic theory of nominal Kleene algebra, including an alternative languagetheoretic semantics, a nominal extension of the Brzozowski derivative, and a bisimulationbased decision procedure for the equational theory. 1 ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We develop the coalgebraic theory of nominal Kleene algebra, including an alternative languagetheoretic semantics, a nominal extension of the Brzozowski derivative, and a bisimulationbased decision procedure for the equational theory. 1
A Coalgebraic Decision Procedure for WS1S
"... Weak monadic secondorder logic of one successor (WS1S) is a simple and natural formalism to specify regular properties. WS1S is decidable, although the decision procedure’s complexity is nonelementary. Typically, decision procedures for WS1S exploit the logic–automaton connection, i.e., they esca ..."
Abstract
 Add to MetaCart
Weak monadic secondorder logic of one successor (WS1S) is a simple and natural formalism to specify regular properties. WS1S is decidable, although the decision procedure’s complexity is nonelementary. Typically, decision procedures for WS1S exploit the logic–automaton connection, i.e., they escape the simple and natural formalism by translating formulas into equally expressive regular structures such as finite automata, regular expressions, or games. In this work, we devise a coalgebraic decision procedure for WS1S that stays within the logical world by directly operating on formulas. The key operation is the derivative of a formula, modeled after Brzozowski’s derivatives of regular expressions. The presented decision procedure has been formalized and proved correct in the interactive proof assistant Isabelle.