EDBT 2026 Demo / reviewers in the wild / expert
Alexandra Silva 0001
dblp:92/1378-1
· DBLP profile ↗
112ranked-venue papers
12as first author
43since 2021 · last 2026
0000-0001-5014-9784ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 77 · 11 first-author · 25 since 2021Software engineering, systems software and programming languages · 44 · 1 first-author · 21 since 2021Artificial intelligence and machine learning · 2 · 1 first-author · 1 since 2021Computer networks · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | SMT-Based Active Learning of Weighted AutomataabstractAbstract We present an SMT-based active learning algorithm for nondeterministic weighted automata (WFAs) as a practical and robust alternative to Hankel/ $$\textsf{L}^\star $$ L ⋆ -style methods. Our algorithm is parametric in a given semiring and, if it terminates, guaranteed to produce minimal WFAs. We prove partial correctness and provide a sufficient termination condition, which in particular implies termination for all finite semirings. Our extensive experimental evaluation shows that our algorithm is capable of learning numerous minimal WFAs over both finite and infinite semirings, vastly outperforms a naive baseline, and is competitive with a state-of-the-art algorithm while producing significantly smaller automata and requiring less interaction with the teacher. Tiago Ferreira 0001, Kevin Batz, Alexandra Silva 0001 |
CAV (2) | 3 |
| 2026 | A Complete Diagrammatic Calculus for Conditional Gaussian MixturesabstractWe extend the synthetic theories of discrete and Gaussian categorical probability by introducing a diagrammatic calculus for reasoning about hybrid probabilistic models in which continuous random variables, conditioned on discrete ones, follow a multivariate Gaussian distribution. This setting includes important families of distributions such as Gaussian mixtures, where each Gaussian component is selected according to a discrete variable. We develop a string diagrammatic syntax for distributions of this type, give it a compositional semantics, and equip it with a sound and complete equational theory that characterises when two mixtures represent the same distribution. Mateo Torres-Ruiz, Robin Piedeleu, Alexandra Silva 0001, Fabio Zanasi |
CSL | 3 |
| 2026 | Outrunning Big KATs: Efficient Decision Procedures for Variants of GKAT
Cheng Zhang 0026, Qiancheng Fu, Hang Ji, Ines Santacruz Del Valle, Alexandra Silva 0001, Marco Gaboardi |
ESOP (2) | 5 |
| 2026 | A Diagrammatic Axiomatisation of Behavioural Distance of Nondeterministic ProcessesabstractBehavioural distances provide a quantitative approach to comparing the states of transition systems, moving beyond traditional Boolean notions of equivalence. In this paper, we develop a sound and complete axiomatisation of behavioural distance for nondeterministic processes using Milner’s charts, a model that generalises finite-state automata by incorporating variable outputs. Charts provide a compelling setting for studying behavioural distances because they shift the focus from language equivalence to bisimilarity. Their axiomatic study lays the groundwork for quantitative analysis of more expressive models, such as weighted transition systems. To formalise this approach, we adopt string diagrams as our syntax of choice. String diagrams closely mirror the graphical structure of charts, while providing a rigorous formalism that supports inductive reasoning and compositional semantics. Unlike traditional algebraic syntaxes, which require additional mechanisms such as binders and substitution, string diagrams offer a variable-free representation where recursion naturally decomposes into simpler components. This makes them well-suited for reasoning about behavioural distances and aligns with broader efforts to axiomatise automata-theoretic equivalences through a unified diagrammatic framework. Wojciech Rozowski, Robin Piedeleu, Alexandra Silva 0001, Fabio Zanasi |
ICALP | 3 |
| 2026 | Weighted NetKAT: A Programming Language for Quantitative Network VerificationabstractWe introduce weighted NetKAT, a domain-specific language for modeling and verifying quantitative network properties. The language is parametric on a semiring, enabling the treatment of a wide range of quantities in a uniform way. We provide a denotational semantics and an equivalent operational semantics, the latter based on a novel model of weighted NetKAT automata (WNKA) capturing the stateful behavior of our language. With WNKA, we obtain a class of generic decision procedures for reasoning about quantitative safety and reachability in a fully automatic way, even in the presence of possibly unbounded iteration. We demonstrate the applicability of our framework in a case study using Internet2's Abilene network as the underlying topology. Emmanuel Suárez Acevedo, Tiago Ferreira 0001, Kevin Batz, Oliver Bøving, Nate Foster, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 6 |
| 2026 | Probabilistic Concurrent Reasoning in Outcome Logic: Independence, Conditioning, and InvariantsabstractAlthough randomization has long been used in distributed computing, formal methods for reasoning aboutprobabilistic concurrent programs have lagged behind. No existing program logics can express specificationsabout the full distributions of outcomes resulting from programs that are both probabilistic and concurrent. To address this, we introduce Probabilistic Concurrent Outcome Logic ( pcOL ), which incorporates ideas fromconcurrent and probabilistic separation logics into Outcome Logic to introduce new compositional reasoningprinciples. At its core, pcOL reinterprets the rules of Concurrent Separation Logic in a setting where separationmodels probabilistic independence, so as to compositionally describe joint distributions over variables inconcurrent threads. Reasoning about outcomes also proves crucial, as case analysis is often necessary to deriveprecise information about threads that rely on randomized shared state. We demonstrate pcOL on a variety ofexamples, including to prove almost sure termination of unbounded loops. Noam Zilberstein, Alexandra Silva 0001, Joseph Tassarotti |
Proc. ACM Program. Lang. | 2 |
| 2025 | Denotational Semantics for Probabilistic and Concurrent Programs
Noam Zilberstein, Daniele Gorla, Alexandra Silva 0001 |
CONCUR | 3 |
| 2025 | A Complete Diagrammatic Calculus for Automata Simulation
Thibaut Antoine, Robin Piedeleu, Alexandra Silva 0001, Fabio Zanasi |
CSL | 3 |
| 2025 | A Complete Inference System for Probabilistic Infinite Trace EquivalenceabstractWe present the first sound and complete axiomatization of infinite trace semantics for generative probabilistic transition systems. Our approach is categorical, and we build on recent results on proper functors over convex sets. At the core of our proof is a characterization of infinite traces as the final coalgebra of a functor over convex algebras. Somewhat surprisingly, our axiomatization of infinite trace semantics coincides with that of finite trace semantics, even though the techniques used in the completeness proof are significantly different. Corina Cîrstea, Lawrence S. Moss, Victoria Noquez, Todd Schmid, Alexandra Silva 0001, Ana Sokolova |
CSL | 5 |
| 2025 | A Complete Axiomatisation of Equivalence for Discrete Probabilistic ProgrammingabstractAbstract We introduce a sound and complete equational theory capturing equivalence of discrete probabilistic programs, that is, programs extended with primitives for Bernoulli distributions and conditioning, to model distributions over finite sets of events. To do so, we translate these programs into a graphical syntax of probabilistic circuits, formalised as string diagrams, the two-dimensional syntax of symmetric monoidal categories. We then prove a first completeness result for the equational theory of the conditioning-free fragment of our syntax. Finally, we extend this result to a complete equational theory for the entire language. Our first result gives a presentation of the category of Markov kernels, restricted to objects that are powers of the two-elements set. Robin Piedeleu, Mateo Torres-Ruiz, Alexandra Silva 0001, Fabio Zanasi |
ESOP (2) | 3 |
| 2025 | Weighted GKAT: Completeness and ComplexityabstractWe propose Weighted Guarded Kleene Algebra with Tests (wGKAT), an uninterpreted weighted programming language equipped with branching, conditionals, and loops. We provide an operational semantics for wGKAT using a variant of weighted automata and introduce a sound and complete axiomatization. We also provide a polynomial time decision procedure for bisimulation equivalence. Spencer Van Koevering, Wojciech Rozowski, Alexandra Silva 0001 |
ICALP | 3 |
| 2025 | On Formal Methods Thinking in Computer Science EducationabstractFormal Methods (FMs) radically improve the quality of the code artefacts they help to produce. They are simple, probably accessible to first-year undergraduate students and certainly to second-year students and beyond. Nevertheless, in many cases, they are not part of a general recommendation for course curricula, i.e., they are not taught — and yet they are valuable. One reason for this is that teaching “Formal Methods” is often confused with teaching logic and theory. This article advocates what we call FM thinking : the application of ideas from Formal Methods applied in informal, lightweight, practical and accessible ways. We will argue here that FM thinking should be part of the recommended curriculum for every Computer Science student, for even students who train only in that “thinking” will become much better programmers. However, there will be others who, exposed to those ideas, will be ideally positioned to go further into the more theoretical background: why the techniques work, how they can be automated, and how new ones can be developed. Those students would follow subsequently a specialised, more theoretical stream, including topics such as semantics, logics, verification and proof-automation techniques. Brijesh Dongol, Catherine Dubois, Stefan Hallerstede, Eric C. R. Hehner, Carroll Morgan, Peter Müller 0001, Leila Ribeiro 0001, Alexandra Silva 0001, Graeme Smith 0001, Erik P. de Vink |
Formal Aspects Comput. | 8 |
| 2025 | 27th Workshop on Logic, Language, Information and Computation - WoLLIC 2021abstractThis special issue of Journal of Logic and Computation brings a selection of papers presented at the 27th Workshop on Logic, Language, Information and Computation (WoLLIC 2021), which was held online, hosted as a Zoom Webinar by University College London. It was the 27th in a series of workshops that started in 1994 with the aim of fostering interdisciplinary research in pure and applied logic . Short versions of 25 papers presented at the Workshop were published in Logic, Language, Information and Computation - 27th International Workshop, WoLLIC 2021, edited by Alexandra Silva, Renata Wassermann and Ruy de Queiroz, Springer Lecture Notes in Computer Science 13038, a volume in the FoLLI-LNCS series. For the present issue, 12 of those 16 extended versions of papers were fully reviewed and appear here in full versions. All papers have been selected and refereed by a fresh panel of referees according to the usual standards of Journal of Logic and Computation. In the call for full versions, the authors were warned that for the paper to be considered for publication, it was expected that the journal version were a significant extension of the paper published in the proceedings of the meeting. The whole content demonstrates the broadness of research interests within the WoLLIC community. Alexandra Silva 0001, Renata Wassermann, Ruy J. G. B. de Queiroz |
J. Log. Comput. | 1 |
| 2025 | StacKAT: Infinite State Network VerificationabstractWe develop StacKAT, a network verification language featuring loops, finite state variables, nondeterminism, and—most importantly—access to a stack with accompanying push and pop operations. By viewing the variables and stack as the (parsed) headers and (to-be-parsed) contents of a network packet, StacKAT can express a wide range of network behaviors including parsing, source routing, and telemetry. These behaviors are difficult or impossible to model using existing languages like NetKAT . We develop a decision procedure for StacKAT program equivalence, based on finite automata. This decision procedure provides the theoretical basis for verifying network-wide properties and is able to provide counterexamples for inequivalent programs. Finally, we provide an axiomatization of StacKAT equivalence and establish its completeness. Jules Jacobs, Nate Foster, Tobias Kappé, Dexter Kozen, Lily Saada, Alexandra Silva 0001, Jana Wagemaker |
Proc. ACM Program. Lang. | 6 |
| 2025 | Active Learning of Symbolic NetKAT AutomataabstractNetKAT is a domain-specific programming language and logic that has been successfully used to specify and verify the behavior of packet-switched networks. This paper develops techniques for automatically learning NetKAT models of unknown networks using active learning. Prior work has explored active learning for a wide range of automata (e.g., deterministic, register, Büchi, timed etc.) and also developed applications, such as validating implementations of network protocols. We present algorithms for learning different types of NetKAT automata, including symbolic automata proposed in recent work. We prove the soundness of these algorithms, build a prototype implementation, and evaluate it on a standard benchmark. Our results highlight the applicability of symbolic NetKAT learning for realistic network configurations and topologies. Mark Moeller, Tiago Ferreira 0001, Thomas Lu, Nate Foster, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 5 |
| 2025 | A Demonic Outcome Logic for Randomized NondeterminismabstractPrograms increasingly rely on randomization in applications such as cryptography and machine learning. Analyzing randomized programs has been a fruitful research direction, but there is a gap when programs also exploit nondeterminism(for concurrency, efficiency, or algorithmic design). In this paper, we introduce Demonic Outcome Logic for reasoning about programs that exploit both randomization and nondeterminism. The logic includes several novel features, such as reasoning about multiple executions in tandem and manipulating pre- and postconditions using familiar equational laws—including the distributive law of probabilistic choices over nondeterministic ones. We also give rules for loops that both establish termination and quantify the distribution of final outcomes from a single premise. We illustrate the reasoning capabilities of Demonic Outcome Logic through several case studies, including the Monty Hall problem, an adversarial protocol for simulating fair coins, and a heuristic based probabilistic SAT solver. Noam Zilberstein, Dexter Kozen, Alexandra Silva 0001, Joseph Tassarotti |
Proc. ACM Program. Lang. | 3 |
| 2025 | Convex language semantics for nondeterministic probabilistic automata
Gerco van Heerdt, Justin Hsu, Joël Ouaknine, Alexandra Silva 0001 |
Theor. Comput. Sci. | 4 |
| 2024 | A Categorical Approach to DIBI Models
Tao Gu 0002, Jialu Bao, Justin Hsu, Alexandra Silva 0001, Fabio Zanasi |
FSCD | 4 |
| 2024 | On Iteration in Discrete Probabilistic ProgrammingabstractDiscrete probabilistic programming languages provide an expressive tool for representing and reasoning about probabilistic models. These languages typically define the semantics of a program through its posterior distribution, obtained through exact inference techniques. While the semantics of standard programming constructs in this context is well understood, there is a gap in extending these languages with tools to reason about the asymptotic behaviour of programs. In this paper, we introduce unbounded iteration in the context of a discrete probabilistic programming language, give it a semantics, and show how to compute it exactly. This allows us to express the stationary distribution of a probabilistic function while preserving the efficiency of exact inference techniques. We discuss the advantages and limitations of our approach, showcasing their practical utility by considering examples where bounded iteration poses a challenge due to the inherent difficulty of assessing the proximity of a distribution to its stationary point. Mateo Torres-Ruiz, Robin Piedeleu, Alexandra Silva 0001, Fabio Zanasi |
FSCD | 3 |
| 2024 | Correct and Complete Symbolic Execution for Free
Erik Voogd, Einar Broch Johnsen, Åsmund Aqissiaq Arild Kløvstad, Jurriaan Rot, Alexandra Silva 0001 |
IFM | 5 |
| 2024 | A Cyclic Proof System for Guarded Kleene Algebra with TestsabstractAbstract Guarded Kleene Algebra with Tests ( $$\texttt{GKAT}$$ GKAT for short) is an efficient fragment of Kleene Algebra with Tests, suitable for reasoning about simple imperative while-programs. Following earlier work by Das and Pous on Kleene Algebra, we study $$\texttt{GKAT}$$ GKAT from a proof-theoretical perspective. The deterministic nature of $$\texttt{GKAT}$$ GKAT allows for a non-well-founded sequent system whose set of regular proofs is complete with respect to the guarded language model. This is unlike the situation with Kleene Algebra, where hypersequents are required. Moreover, the decision procedure induced by proof search runs in $$\textsf{NLOGSPACE}$$ NLOGSPACE , whereas that of Kleene Algebra is in $$\textsf{PSPACE}$$ PSPACE . Jan Rooduijn, Dexter Kozen, Alexandra Silva 0001 |
IJCAR (2) | 3 |
| 2024 | A Completeness Theorem for Probabilistic Regular ExpressionsabstractWe introduce Probabilistic Regular Expressions (PRE), a probabilistic analogue of regular expressions denoting probabilistic languages in which every word is assigned a probability of being generated. We present and prove the completeness of an inference system for reasoning about probabilistic language equivalence of PRE based on Salomaa's axiomatisation of Kleene Algebra. Wojciech Rozowski, Alexandra Silva 0001 |
LICS | 2 |
| 2024 | Preface of the special issue on the conference on Computer-Aided Verification 2020 and 2021
Aws Albarghouthi, K. Rustan M. Leino, Alexandra Silva 0001, Caterina Urban |
Formal Methods Syst. Des. | 3 |
| 2024 | KATch: A Fast Symbolic Verifier for NetKATabstractWe develop new data structures and algorithms for checking verification queries in NetKAT, a domain-specific language for specifying the behavior of network data planes. Our results extend the techniques obtained in prior work on symbolic automata and provide a framework for building efficient and scalable verification tools. We present KATch, an implementation of these ideas in Scala, featuring an extended set of NetKAT operators that are useful for expressing network-wide specifications, and a verification engine that constructs a bisimulation or generates a counter-example showing that none exists. We evaluate the performance of our implementation on real-world and synthetic benchmarks, verifying properties such as reachability and slice isolation, typically returning a result in well under a second, which is orders of magnitude faster than previous approaches. Our advancements underscore NetKAT’s potential as a practical, declarative language for network specification and verification. Mark Moeller, Jules Jacobs, Olivier Savary Bélanger, David Darais, Cole Schlesinger, Steffen Smolka, Nate Foster, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 8 |
| 2024 | Quantitative Weakest Hyper Pre: Unifying Correctness and Incorrectness Hyperproperties via Predicate TransformersabstractWe present a novel weakest pre calculus for reasoning about quantitative hyperproperties over nondeterministic and probabilistic programs . Whereas existing calculi allow reasoning about the expected value that a quantity assumes after program termination from a single initial state , we do so for initial sets of states or initial probability distributions . We thus (i) obtain a weakest pre calculus for hyper Hoare logic and (ii) enable reasoning about so-called hyperquantities which include expected values but also quantities (e.g. variance) out of scope of previous work. As a byproduct, we obtain a novel strongest post for weighted programs that extends both existing strongest and strongest liberal post calculi. Our framework reveals novel dualities between forward and backward transformers, correctness and incorrectness, as well as nontermination and unreachability. Linpeng Zhang, Noam Zilberstein, Benjamin Lucien Kaminski, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 4 |
| 2024 | Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational EffectsabstractSeparation logic’s compositionality and local reasoning properties have led to significant advances in scalable static analysis. But program analysis has new challenges—many programs displaycomputational effectsand, orthogonally, static analyzers must handleincorrectnesstoo. We present Outcome Separation Logic (OSL), a program logic that is sound for both correctness and incorrectness reasoning in programs with varying effects. OSL has a frame rule—just like separation logic—but uses different underlying assumptions that open up local reasoning to a larger class of properties than can be handled by any single existing logic. Building on this foundational theory, we also define symbolic execution algorithms that use bi-abduction to derive specifications for programs with effects. This involves a newtri-abductionprocedure to analyze programs whose execution branches due to effects such as nondeterministic or probabilistic choice. This work furthers the compositionality promised by separation logic by opening up the possibility for greater reuse of analysis tools across two dimensions: bug-finding vs verification in programs with varying effects. Noam Zilberstein, Angelina Saliling, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 3 |
| 2023 | Generators and Bases for Monadic Closures
Stefan Zetzsche, Alexandra Silva 0001, Matteo Sammartino |
CALCO | 2 |
| 2023 | Automata Learning with an Incomplete Teacher
Mark Moeller, Thomas Wiener, Alaia Solko-Breslin, Caleb Koch 0001, Nate Foster, Alexandra Silva 0001 |
ECOOP | 6 |
| 2023 | A Complete Inference System for Skip-free Guarded Kleene Algebra with TestsabstractAbstract Guarded Kleene Algebra with Tests (GKAT) is a fragment of Kleene Algebra with Tests (KAT) that was recently introduced to reason efficiently about imperative programs. In contrast to KAT, GKAT does not have an algebraic axiomatization, but relies on an analogue of Salomaa’s axiomatization of Kleene Algebra. In this paper, we present an algebraic axiomatization and prove two completeness results for a large fragment of GKAT consisting of skip-free programs. Todd Schmid, Tobias Kappé, Alexandra Silva 0001 |
ESOP | 3 |
| 2023 | Probabilistic Guarded KAT Modulo Bisimilarity: Completeness and ComplexityabstractWe introduce Probabilistic Guarded Kleene Algebra with Tests (ProbGKAT), an extension of GKAT that allows reasoning about uninterpreted imperative programs with probabilistic branching. We give its operational semantics in terms of special class of probabilistic automata. We give a sound and complete Salomaa-style axiomatisation of bisimilarity of ProbGKAT expressions. Finally, we show that bisimilarity of ProbGKAT expressions can be decided in $O(n^3 \log n)$ time via a generic partition refinement algorithm. Wojciech Rozowski, Tobias Kappé, Dexter Kozen, Todd Schmid, Alexandra Silva 0001 |
ICALP | 5 |
| 2023 | Deterministic stream-sampling for probabilistic programming: semantics and verificationabstractProbabilistic programming languages rely fundamentally on some notion of sampling, and this is doubly true for probabilistic programming languages which perform Bayesian inference using Monte Carlo techniques. Verifying samplers—proving that they generate samples from the correct distribution—is crucial to the use of probabilistic programming languages for statistical modelling and inference. However, the typical denotational semantics of probabilistic programs is incompatible with deterministic notions of sampling. This is problematic, considering that most statistical inference is performed using pseudorandom number generators.We present a higher-order probabilistic programming language centred on the notion of samplers and sampler operations. We give this language an operational and denotational semantics in terms of continuous maps between topological spaces. Our language also supports discontinuous operations, such as comparisons between reals, by using the type system to track discontinuities. This feature might be of independent interest, for example in the context of differentiable programming.Using this language, we develop tools for the formal verification of sampler correctness. We present an equational calculus to reason about equivalence of samplers, and a sound calculus to prove semantic correctness of samplers, i.e. that a sampler correctly targets a given measure by construction. Fredrik Dahlqvist, Alexandra Silva 0001 |
LICS | 2 |
| 2023 | Outcome Logic: A Unifying Foundation for Correctness and Incorrectness ReasoningabstractProgram logics for bug-finding (such as the recently introduced Incorrectness Logic) have framed correctness and incorrectness as dual concepts requiring different logical foundations. In this paper, we argue that a single unified theory can be used for both correctness and incorrectness reasoning. We present Outcome Logic (OL), a novel generalization of Hoare Logic that is both monadic (to capture computational effects) and monoidal (to reason about outcomes and reachability). OL expresses true positive bugs, while retaining correctness reasoning abilities as well. To formalize the applicability of OL to both correctness and incorrectness, we prove that any false OL specification can be disproven in OL itself. We also use our framework to reason about new types of incorrectness in nondeterministic and probabilistic programs. Given these advances, we advocate for OL as a new foundational theory of correctness and incorrectness. Noam Zilberstein, Derek Dreyer, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 3 |
| 2022 | Concurrent NetKAT - Modeling and analyzing stateful, concurrent networksabstractAbstract We introduce Concurrent (), an extension of with operators for specifying and reasoning about concurrency in scenarios where multiple packets interact through state. We provide a model of the language based on partially-ordered multisets (pomsets), which are a well-established mathematical structure for defining the denotational semantics of concurrent languages. We provide a sound and complete axiomatization of this model, and we illustrate the use of through examples. More generally, can be understood as an algebraic framework for reasoning about programs with both local state (in packets) and global state (in a global store). Jana Wagemaker, Nate Foster, Tobias Kappé, Dexter Kozen, Jurriaan Rot, Alexandra Silva 0001 |
ESOP | 6 |
| 2022 | Processes Parametrised by an Algebraic TheoryabstractWe develop a (co)algebraic framework to study a family of process calculi with monadic branching structures and recursion operators. Our framework features a uniform semantics of process terms and a complete axiomatisation of semantic equivalence. We show that there are uniformly defined fragments of our calculi that capture well-known examples from the literature like regular expressions modulo bisimilarity and guarded Kleene algebra with tests. We also derive new calculi for probabilistic and convex processes with an analogue of Kleene star. Todd Schmid, Wojciech Rozowski, Alexandra Silva 0001, Jurriaan Rot |
ICALP | 3 |
| 2022 | Formalizing Moessner's theorem and generalizations in Nuprl
Mark Bickford, Dexter Kozen, Alexandra Silva 0001 |
J. Log. Algebraic Methods Program. | 3 |
| 2021 | Learning Pomset AutomataabstractAbstract We extend the $$\mathtt {L}^{\!\star }$$ L⋆ algorithm to learn bimonoids recognising pomset languages. We then identify a class of pomset automata that accepts precisely the class of pomset languages recognised by bimonoids and show how to convert between bimonoids and automata. Gerco van Heerdt, Tobias Kappé, Jurriaan Rot, Alexandra Silva 0001 |
FoSSaCS | 4 |
| 2021 | Guarded Kleene Algebra with Tests: Coequations, Coinduction, and CompletenessabstractGuarded Kleene Algebra with Tests (GKAT) is an efficient fragment of KAT, as it allows for almost linear decidability of equivalence. In this paper, we study the (co)algebraic properties of GKAT. Our initial focus is on the fragment that can distinguish between unsuccessful programs performing different actions, by omitting the so-called early termination axiom. We develop an operational (coalgebraic) and denotational (algebraic) semantics and show that they coincide. We then characterize the behaviors of GKAT expressions in this semantics, leading to a coequation that captures the covariety of automata corresponding to these behaviors. Finally, we prove that the axioms of the reduced fragment are sound and complete w.r.t. the semantics, and then build on this result to recover a semantics that is sound and complete w.r.t. the full set of axioms. Todd Schmid, Tobias Kappé, Dexter Kozen, Alexandra Silva 0001 |
ICALP | 4 |
| 2021 | A Bunched Logic for Conditional IndependenceabstractIndependence and conditional independence are fundamental concepts for reasoning about groups of random variables in probabilistic programs. Verification methods for independence are still nascent, and existing methods cannot handle conditional independence. We extend the logic of bunched implications (BI) with a non-commutative conjunction and provide a model based on Markov kernels; conditional independence can be directly captured as a logical formula in this model. Noting that Markov kernels are Kleisli arrows for the distribution monad, we then introduce a second model based on the powerset monad and show how it can capture join dependency, a non-probabilistic analogue of conditional independence from database theory. Finally, we develop a program logic for verifying conditional independence in probabilistic programs. Jialu Bao, Simon Docherty, Justin Hsu, Alexandra Silva 0001 |
LICS | 4 |
| 2021 | Prognosis: closed-box analysis of network protocol implementationsabstractWe present Prognosis, a framework offering automated closed-box learning and analysis of models of network protocol implementations. Prognosis can learn models that vary in abstraction level from simple deterministic automata to models containing data operations, such as register updates, and can be used to unlock a variety of analysis techniques -- model checking temporal properties, computing differences between models of two implementations of the same protocol, or improving testing via model-based test generation. Prognosis is modular and easily adaptable to different protocols (e.g. TCP and QUIC) and their implementations. We use Prognosis to learn models of (parts of) three QUIC implementations -- Quiche (Cloudflare), Google QUIC, and Facebook mvfst -- and use these models to analyse the differences between the various implementations. Our analysis provides insights into different design choices and uncovers potential bugs. Concretely, we have found critical bugs in multiple QUIC implementations, which have been acknowledged by the developers. Tiago Ferreira 0001, Harrison Brewton, Loris D'Antoni, Alexandra Silva 0001 |
SIGCOMM | 4 |
| 2021 | Actor-based model checking for Software-Defined Networks
Elvira Albert, Miguel Gómez-Zamalloa, Miguel Isabel, Albert Rubio, Matteo Sammartino, Alexandra Silva 0001 |
J. Log. Algebraic Methods Program. | 6 |
| 2021 | Distribution Bisimilarity via the Power of Convex AlgebrasabstractProbabilistic automata (PA), also known as probabilistic nondeterministic labelled transition systems, combine probability and nondeterminism. They can be given different semantics, like strong bisimilarity, convex bisimilarity, or (more recently) distribution bisimilarity. The latter is based on the view of PA as transformers of probability distributions, also called belief states, and promotes distributions to first-class citizens. We give a coalgebraic account of distribution bisimilarity, and explain the genesis of the belief-state transformer from a PA. To do so, we make explicit the convex algebraic structure present in PA and identify belief-state transformers as transition systems with state space that carries a convex algebra. As a consequence of our abstract approach, we can give a sound proof technique which we call bisimulation up-to convex hull. Filippo Bonchi, Alexandra Silva 0001, Ana Sokolova |
Log. Methods Comput. Sci. | 2 |
| 2021 | Equivalence checking for weak bi-Kleene algebraabstractPomset automata are an operational model of weak bi-Kleene algebra, which describes programs that can fork an execution into parallel threads, upon completion of which execution can join to resume as a single thread. We characterize a fragment of pomset automata that admits a decision procedure for language equivalence. Furthermore, we prove that this fragment corresponds precisely to series-rational expressions, i.e., rational expressions with an additional operator for bounded parallelism. As a consequence, we obtain a new proof that equivalence of series-rational expressions is decidable. Tobias Kappé, Paul Brunet, Bas Luttik, Alexandra Silva 0001, Fabio Zanasi |
Log. Methods Comput. Sci. | 4 |
| 2021 | ProbNV: probabilistic verification of network control planesabstractProbNV is a new framework for probabilistic network control plane verification that strikes a balance between generality and scalability. ProbNV is general enough to encode a wide range of features from the most common protocols (eBGP and OSPF) and yet scalable enough to handle challenging properties, such as probabilistic all-failures analysis of medium-sized networks with 100-200 devices. When there are a small, bounded number of failures, networks with up to 500 devices may be verified in seconds. ProbNV operates by translating raw CISCO configurations into a probabilistic and functional programming language designed for network verification. This language comes equipped with a novel type system that characterizes the sort of representation to be used for each data structure: concrete for the usual representation of values; symbolic for a BDD-based representation of sets of values; and multi-value for an MTBDD-based representation of values that depend upon symbolics. Careful use of these varying representations speeds execution of symbolic simulation of network models. The MTBDD-based representations are also used to calculate probabilistic properties of network models once symbolic simulation is complete. We implement the language and evaluate its performance on benchmarks constructed from real network topologies and synthesized routing policies. Nick Giannarakis, Alexandra Silva 0001, David Walker 0001 |
Proc. ACM Program. Lang. | 2 |
| 2020 | CONCUR Test-Of-Time Award 2020 Announcement (Invited Paper)abstractThis short article announces the recipients of the CONCUR Test-of-Time Award 2020. Luca Aceto, Jos C. M. Baeten, Patricia Bouyer, Holger Hermanns, Alexandra Silva 0001 |
CONCUR | 5 |
| 2020 | Partially Observable Concurrent Kleene AlgebraabstractWe introduce partially observable concurrent Kleene algebra (POCKA), an algebraic framework to reason about concurrent programs with variables as well as control structures, such as conditionals and loops, that depend on those variables. We illustrate the use of POCKA through concrete examples. We prove that POCKA is a sound and complete axiomatisation of a model of partial observations, and show the semantics passes an important check for sequential consistency. Jana Wagemaker, Paul Brunet, Simon Docherty, Tobias Kappé, Jurriaan Rot, Alexandra Silva 0001 |
CONCUR | 6 |
| 2020 | Learning Weighted Automata over Principal Ideal DomainsabstractContains fulltext : 219588.pdf (Publisher’s version ) (Open Access) Gerco van Heerdt, Clemens Kupke, Jurriaan Rot, Alexandra Silva 0001 |
FoSSaCS | 4 |
| 2020 | Concurrent Kleene Algebra with Observations: From Hypotheses to CompletenessabstractConcurrent Kleene Algebra (CKA) extends basic Kleene algebra with a parallel composition operator, which enables reasoning about concurrent programs. However, CKA fundamentally misses tests, which are needed to model standard programming constructs such as conditionals and $\mathsf{while}$-loops. It turns out that integrating tests in CKA is subtle, due to their interaction with parallelism. In this paper we provide a solution in the form of Concurrent Kleene Algebra with Observations (CKAO). Our main contribution is a completeness theorem for CKAO. Our result resorts on a more general study of CKA "with hypotheses", of which CKAO turns out to be an instance: this analysis is of independent interest, as it can be applied to extensions of CKA other than CKAO. Tobias Kappé, Paul Brunet, Alexandra Silva 0001, Jana Wagemaker, Fabio Zanasi |
FoSSaCS | 3 |
| 2020 | Models of Concurrent Kleene AlgebraabstractKleene Algebra and variants thereof have been successfully used in verification of se- quential programs. The leap to concurrent programs offers many challenges, both in terms of devising the right foundations to study concurrent variants of Kleene Algebra but also in finding the right models to enable effective verification of relevant programs. In this talk, we will review existing and ongoing work on concurrent Kleene Algebra with a focus on a variant called partially observable concurrent Kleene algebra (POCKA). POCKA offers an algebraic framework to reason about concurrent programs with control structures, such as conditionals and loops. We will show how a previously developed technique for com- pleteness of Kleene Algebra can be lifted to prove that POCKA is a sound and complete axiomatization of a model of partial observations. We illustrate the use of the framework in the analysis of sequential consistency, i.e., whether programs behave as if memory accesses taking place were interleaved and executed sequentially. The work described in this invited talk is based on [1, 2, 3], and it is joint with a won- derful group of people: Paul Brunet, Simon Docherty, Tobias Kapp ́e, Jurriaan Rot, Jana Wagemaker, and Fabio Zanasi. Alexandra Silva 0001 |
LPAR | 1 |
| 2020 | Preservation of Equations by Monoidal MonadsabstractIf a monad T is monoidal, then operations on a set X can be lifted canonically to operations on TX. In this paper we study structural properties under which T preserves equations between those operations. It has already been shown that any monoidal monad preserves linear equations; affine monads preserve drop equations (where some variable appears only on one side, such as x⋅ y = y) and relevant monads preserve dup equations (where some variable is duplicated, such as x ⋅ x = x). We start the paper by showing a converse: if the monad at hand preserves a drop equation, then it must be affine. From this, we show that the problem whether a given (drop) equation is preserved is undecidable. A converse for relevance turns out to be more subtle: preservation of certain dup equations implies a weaker notion which we call n-relevance. Finally, we identify a subclass of equations such that their preservation is equivalent to relevance. Louis Parlant, Jurriaan Rot, Alexandra Silva 0001, Bas Westerbaan |
MFCS | 3 |
| 2020 | Hennessy-Milner Results for Probabilistic PDLabstractKozen introduced probabilistic propositional dynamic logic (PPDL) in 1985 as a compositional framework to reason about probabilistic programs. In this paper we study expressiveness for PPDL and provide a series of results analogues to the classical Hennessy-Milner theorem for modal logic. First, we show that PPDL charaterises probabilistic trace equivalence of probabilistic automata (with outputs). Second, we show that PPDL can be mildly extended to yield a characterisation of probabilistic state bisimulation for PPDL models. Third, we provide a different extension of PPDL, this time characterising probabilistic event bisimulation. Tao Gu 0002, Alexandra Silva 0001, Fabio Zanasi |
MFPS | 2 |
| 2020 | Guarded Kleene algebra with tests: verification of uninterpreted programs in nearly linear timeabstractGuarded Kleene Algebra with Tests (GKAT) is a variation on Kleene Algebra with Tests (KAT) that arises by restricting the union (+) and iteration (*) operations from KAT to predicate-guarded versions. We develop the (co)algebraic theory of GKAT and show how it can be efficiently used to reason about imperative programs. In contrast to KAT, whose equational theory is PSPACE-complete, we show that the equational theory of GKAT is (almost) linear time. We also provide a full Kleene theorem and prove completeness for an analogue of Salomaa’s axiomatization of Kleene Algebra. Steffen Smolka, Nate Foster, Justin Hsu, Tobias Kappé, Dexter Kozen, Alexandra Silva 0001 |
Proc. ACM Program. Lang. | 6 |
| 2020 | Conditional transition systems with upgrades
Harsh Beohar, Barbara König 0001, Sebastian Küpper, Alexandra Silva 0001 |
Sci. Comput. Program. | 4 |
| 2020 | Left-handed completeness
Dexter Kozen, Alexandra Silva 0001 |
Theor. Comput. Sci. | 2 |
| 2020 | Toward a Uniform Theory of Effectful State MachinesabstractUsing recent developments in coalgebraic and monad-based semantics, we present a uniform study of various notions of machines, e.g., finite state machines, multi-stack machines, Turing machines, valence automata, and weighted automata. They are instances of Jacobs’s notion of a T - automaton , where T is a monad. We show that the generic language semantics for T -automata correctly instantiates the usual language semantics for a number of known classes of machines/languages, including regular, context-free, recursively-enumerable, and various subclasses of context free languages (e.g., deterministic and real-time ones). Moreover, our approach provides new generic techniques for studying the expressivity power of various machine-based models. Sergey Goncharov 0001, Stefan Milius, Alexandra Silva 0001 |
ACM Trans. Comput. Log. | 3 |
| 2019 | Tree Automata as Algebras: Minimisation and DeterminisationabstractCoalgebras for an endofunctor provide a category-theoretic framework for modeling a wide range of state-based systems of various types. We provide an iterative construction of the reachable part of a given pointed coalgebra that is inspired by and resembles the standard breadth-first search procedure to compute the reachable part of a graph. We also study coalgebras in Kleisli categories: for a functor extending a functor on the base category, we show that the reachable part of a given pointed coalgebra can be computed in that base category. Gerco van Heerdt, Tobias Kappé, Jurriaan Rot, Matteo Sammartino, Alexandra Silva 0001 |
CALCO | 5 |
| 2019 | Symbolic Register AutomataabstractSymbolic Finite Automata and Register Automata are two orthogonal extensions of finite automata motivated by real-world problems where data may have unbounded domains. These automata address a demand for a model over large or infinite alphabets, respectively. Both automata models have interesting applications and have been successful in their own right. In this paper, we introduce Symbolic Register Automata, a new model that combines features from both symbolic and register automata, with a view on applications that were previously out of reach. We study their properties and provide algorithms for emptiness, inclusion and equivalence checking, together with experimental results. Loris D'Antoni, Tiago Ferreira 0001, Matteo Sammartino, Alexandra Silva 0001 |
CAV (1) | 4 |
| 2019 | Kleene Algebra with ObservationsabstractKleene algebra with tests (KAT) is an algebraic framework for reasoning about the control flow of sequential programs. Generalising KAT to reason about concurrent programs is not straightforward, because axioms native to KAT in conjunction with expected axioms for concurrency lead to an anomalous equation. In this paper, we propose Kleene algebra with observations (KAO), a variant of KAT, as an alternative foundation for extending KAT to a concurrent setting. We characterise the free model of KAO, and establish a decision procedure w.r.t. its equational theory. Tobias Kappé, Paul Brunet, Jurriaan Rot, Alexandra Silva 0001, Jana Wagemaker, Fabio Zanasi |
CONCUR | 4 |
| 2019 | An Algebraic Framework to Reason About Concurrency (Invited Talk)abstractKleene algebra with tests (KAT) is an algebraic framework for reasoning about the control flow of sequential programs. Hoare, Struth, and collaborators proposed a concurrent extension of Kleene Algebra (CKA) as a first step towards developing algebraic reasoning for concurrent programs. Completing their research program and extending KAT to encompass concurrent behaviour has however proven to be more challenging than initially expected. The core problem appears because when generalising KAT to reason about concurrent programs, axioms native to KAT in conjunction with expected axioms for reasoning about concurrency lead to an unexpected equation about programs. In this talk, we will revise the literature on CKA(T) and explain the challenges and solutions in the development of an algebraic framework for concurrency. The talk is based on a series of papers joint with Tobias Kappé, Paul Brunet, Bas Luttik, Jurriaan Rot, Jana Wagemaker, and Fabio Zanasi [Tobias Kappé et al., 2017; Tobias Kappé et al., 2019; Kappé et al., 2018]. Additional references can be found on the CoNeCo project website: https://coneco-project.org/. Alexandra Silva 0001 |
FSTTCS | 1 |
| 2019 | A Kleene Theorem for Nominal Automata
Paul Brunet, Alexandra Silva 0001 |
ICALP | 2 |
| 2019 | Guarded Kleene Algebra with Tests: Verification of Uninterpreted Programs in Nearly Linear Time (Invited Talk)abstractGuarded Kleene Algebra with Tests (GKAT) is a variation on Kleene Algebra with Tests (KAT) that arises by restricting the union (+) and iteration (*) operations from KAT to predicate-guarded versions. We develop the (co)algebraic theory of GKAT and show how it can be efficiently used to reason about imperative programs. In contrast to KAT, whose equational theory is PSPACE-complete, we show that the equational theory of GKAT is (almost) linear time. We also provide a full Kleene theorem and prove completeness for an analogue of Salomaa’s axiomatization of Kleene Algebra. We will also discuss how this result has practical implications in the verification of programs, with examples from network and probabilistic programming. This is joint work with Nate Foster, Justin Hsu, Tobias Kappe, Dexter Kozen, and Steffen Smolka. Alexandra Silva 0001 |
MFCS | 1 |
| 2019 | Completeness and Incompleteness of Synchronous Kleene Algebra
Jana Wagemaker, Marcello M. Bonsangue, Tobias Kappé, Jurriaan Rot, Alexandra Silva 0001 |
MPC | 5 |
| 2019 | Scalable verification of probabilistic networksabstractThis paper presents McNetKAT, a scalable tool for verifying probabilistic network programs. McNetKAT is based on a new semantics for the guarded and history-free fragment of Probabilistic NetKAT in terms of finite-state, absorbing Markov chains. This view allows the semantics of all programs to be computed exactly, enabling construction of an automatic verification tool. Domain-specific optimizations and a parallelizing backend enable McNetKAT to analyze networks with thousands of nodes, automatically reasoning about general properties such as probabilistic program equivalence and refinement, as well as networking properties such as resilience to failures. We evaluate McNetKAT's scalability using real-world topologies, compare its performance against state-of-the-art tools, and develop an extended case study on a recently proposed data center network design. Steffen Smolka, Praveen Kumar 0003, David M. Kahn, Nate Foster, Justin Hsu, Dexter Kozen, Alexandra Silva 0001 |
PLDI | 7 |
| 2018 | Concurrent Kleene Algebra: Free Model and CompletenessabstractConcurrent Kleene Algebra (CKA) was introduced by Hoare, Moeller, Struth and Wehrman in 2009 as a framework to reason about concurrent programs. We prove that the axioms for CKA with bounded parallelism are complete for the semantics proposed in the original paper; consequently, these semantics are the free model for this fragment. This result settles a conjecture of Hoare and collaborators. Moreover, the technique developed to this end allows us to establish a Kleene Theorem for CKA, extending an earlier Kleene Theorem for a fragment of CKA. Tobias Kappé, Paul Brunet, Alexandra Silva 0001, Fabio Zanasi |
ESOP | 3 |
| 2018 | SDN-Actors: Modeling and Verification of SDN Programs
Elvira Albert, Miguel Gómez-Zamalloa, Albert Rubio, Matteo Sammartino, Alexandra Silva 0001 |
FM | 5 |
| 2018 | Almost Sure ProductivityabstractWe define Almost Sure Productivity (ASP), a probabilistic generalization of the productivity condition for coinductively defined structures. Intuitively, a probabilistic coinductive stream or tree is ASP if it produces infinitely many outputs with probability 1. Formally, we define almost sure productivity using a final coalgebra semantics of programs inspired from Kerstan and König. Then, we introduce a core language for probabilistic streams and trees, and provide two approaches to verify ASP: a sufficient syntactic criterion, and a reduction to model-checking pCTL* formulas on probabilistic pushdown automata. The reduction shows that ASP is decidable for our core language. Alejandro Aguirre 0001, Gilles Barthe, Justin Hsu, Alexandra Silva 0001 |
ICALP | 4 |
| 2018 | Layer by Layer - Combining Monads
Fredrik Dahlqvist, Louis Parlant, Alexandra Silva 0001 |
ICTAC | 3 |
| 2018 | Convex Language Semantics for Nondeterministic Probabilistic Automata
Gerco van Heerdt, Justin Hsu, Joël Ouaknine, Alexandra Silva 0001 |
ICTAC | 4 |
| 2018 | A coalgebraic treatment of conditional transition systems with upgradesabstractWe consider conditional transition systems, that model software product lines with upgrades, in a coalgebraic setting. By using Birkhoff's duality for distributive lattices, we derive two equivalent Kleisli categories in which these coalgebras live: Kleisli categories based on the reader and on the so-called lattice monad over $\mathsf{Poset}$. We study two different functors describing the branching type of the coalgebra and investigate the resulting behavioural equivalence. Furthermore we show how an existing algorithm for coalgebra minimisation can be instantiated to derive behavioural equivalences in this setting. Harsh Beohar, Barbara König 0001, Sebastian Küpper, Alexandra Silva 0001, Thorsten Wißmann |
Log. Methods Comput. Sci. | 4 |
| 2018 | Coinductive Foundations of Infinitary Rewriting and Infinitary Equational LogicabstractWe present a coinductive framework for defining and reasoning about the infinitary analogues of equational logic and term rewriting in a uniform, coinductive way. The setup captures rewrite sequences of arbitrary ordinal length, but it has neither the need for ordinals nor for metric convergence. This makes the framework especially suitable for formalizations in theorem provers. Jörg Endrullis, Helle Hvid Hansen, Dimitri Hendriks, Andrew Polonsky, Alexandra Silva 0001 |
Log. Methods Comput. Sci. | 5 |
| 2017 | The Power of Convex AlgebrasabstractProbabilistic automata (PA) combine probability and nondeterminism. They can be given different semantics, like strong bisimilarity, convex bisimilarity, or (more recently) distribution bisimilarity. The latter is based on the view of PA as transformers of probability distributions, also called belief states, and promotes distributions to first-class citizens. We give a coalgebraic account of the latter semantics, and explain the genesis of the belief-state transformer from a PA. To do so, we make explicit the convex algebraic structure present in PA and identify belief-state transformers as transition systems with state space that carries a convex algebra. As a consequence of our abstract approach, we can give a sound proof technique which we call bisimulation up-to convex hull. Filippo Bonchi, Alexandra Silva 0001, Ana Sokolova |
CONCUR | 2 |
| 2017 | Brzozowski Goes Concurrent - A Kleene Theorem for Pomset LanguagesabstractConcurrent Kleene Algebra (CKA) is a mathematical formalism to study programs that exhibit concurrent behaviour. As with previous extensions of Kleene Algebra, characterizing the free model is crucial in order to develop the foundations of the theory and potential applications. For CKA, this has been an open question for a few years and this paper makes an important step towards an answer. We present a new automaton model and a Kleene-like theorem that relates a relaxed version of CKA to series-parallel pomset languages, which are a natural candidate for the free model. There are two substantial differences with previous work: from expressions to automata, we use Brzozowski derivatives, which enable a direct construction of the automaton; from automata to expressions, we provide a syntactic characterization of the automata that denote valid CKA behaviours. Tobias Kappé, Paul Brunet, Bas Luttik, Alexandra Silva 0001, Fabio Zanasi |
CONCUR | 4 |
| 2017 | CALF: Categorical Automata Learning FrameworkabstractAutomata learning is a technique that has successfully been applied in verification, with the automaton type varying depending on the application domain. Adaptations of automata learning algorithms for increasingly complex types of automata have to be developed from scratch because there was no abstract theory offering guidelines. This makes it hard to devise such algorithms, and it obscures their correctness proofs. We introduce a simple category-theoretic formalism that provides an appropriately abstract foundation for studying automata learning. Furthermore, our framework establishes formal relations between algorithms for learning, testing, and minimization. We illustrate its generality with two examples: deterministic and weighted automata. Gerco van Heerdt, Matteo Sammartino, Alexandra Silva 0001 |
CSL | 3 |
| 2017 | Learning nominal automataabstractWe present an Angluin-style algorithm to learn nominal automata, which are acceptors of languages over infinite (structured) alphabets. The abstract approach we take allows us to seamlessly extend known variations of the algorithm to this new setting. In particular we can learn a subclass of nominal non-deterministic automata. An implementation using a recently developed Haskell library for nominal computation is provided for preliminary experiments. Joshua Moerman, Matteo Sammartino, Alexandra Silva 0001, Bartek Klin, Michal Szynwelski |
POPL | 3 |
| 2017 | Cantor meets scott: semantic foundations for probabilistic networksabstractProbNetKAT is a probabilistic extension of NetKAT with a denotational semantics based on Markov kernels. The language is expressive enough to generate continuous distributions, which raises the question of how to compute effectively in the language. This paper gives an new characterization of ProbNetKAT’s semantics using domain theory, which provides the foundation needed to build a practical implementation. We show how to use the semantics to approximate the behavior of arbitrary ProbNetKAT programs using distributions with finite support. We develop a prototype implementation and show how to use it to solve a variety of problems including characterizing the expected congestion induced by different routing schemes and reasoning probabilistically about reachability in a network. Steffen Smolka, Praveen Kumar 0003, Nate Foster, Dexter Kozen, Alexandra Silva 0001 |
POPL | 5 |
| 2017 | Conditional transition systems with upgradesabstractWe 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. Harsh Beohar, Barbara König 0001, Sebastian Küpper, Alexandra Silva 0001 |
TASE | 4 |
| 2017 | CoCaml: Functional Programming with Regular Coinductive TypesabstractFunctional languages offer a high level of abstraction, which results in programs that are elegant and easy to understand. Central to the development of functional programming are inductive and coinductive types and associated programming constructs, such as pattern-matching. Whereas inductive type s have a long tradition and are well supported in most languages, coinductive types are subject of more recent research and are less mainstream. We present CoCaml, a functional programming language extending OCaml, which allows us to define recursive functions on regular coinductive datatypes. These functions are defined like usual recursive functions, but parameterized by an equation solver. We present a full implementation of all the constructs and solvers and show how these can be used in a variety of examples, including operations on infinite lists, infinitary γ-terms, and p-adic numbers. Jean-Baptiste Jeannin, Dexter Kozen, Alexandra Silva 0001 |
Fundam. Informaticae | 3 |
| 2017 | Well-founded coalgebras, revisitedabstractTheoretical models of recursion schemes have been well studied under the names well-founded coalgebras, recursive coalgebras, corecursive algebras and Elgot algebras. Much of this work focuses on conditions ensuring unique or canonical solutions, e.g. when the coalgebra is well founded. If the coalgebra is not well founded, then there can be multiple solutions. The standard semantics of recursive programs gives a particular solution, typically the least fixpoint of a certain monotone map on a domain whose least element is the totally undefined function; but this solution may not be the desired one. We have recently proposed programming language constructs to allow the specification of alternative solutions and methods to compute them. We have implemented these new constructs as an extension of OCaml. In this paper, we prove some theoretical results characterizing well-founded coalgebras, along with several examples for which this extension is useful. We also give several examples that are not well founded but still have a desired solution. In each case, the function would diverge under the standard semantics of recursion, but can be specified and computed with the programming language constructs we have proposed. Jean-Baptiste Jeannin, Dexter Kozen, Alexandra Silva 0001 |
Math. Struct. Comput. Sci. | 3 |
| 2017 | Practical coinductionabstractInduction is a well-established proof principle that is taught in most undergraduate programs in mathematics and computer science. In computer science, it is used primarily to reason about inductively defined datatypes such as finite lists, finite trees and the natural numbers. Coinduction is the dual principle that can be used to reason about coinductive datatypes such as infinite streams or trees, but it is not as widespread or as well understood. In this paper, we illustrate through several examples the use of coinduction in informal mathematical arguments. Our aim is to promote the principle as a useful tool for the working mathematician and to bring it to a level of familiarity on par with induction. We show that coinduction is not only about bisimilarity and equality of behaviors, but also applicable to a variety of functions and relations defined on coinductive datatypes. Dexter Kozen, Alexandra Silva 0001 |
Math. Struct. Comput. Sci. | 2 |
| 2017 | Enhanced coalgebraic bisimulationabstractWe present a systematic study of bisimulation-up-to techniques for coalgebras. This enhances the bisimulation proof method for a large class of state based systems, including labelled transition systems but also stream systems and weighted automata. Our approach allows for compositional reasoning about the soundness of enhancements. Applications include the soundness of bisimulation up to bisimilarity, up to equivalence and up to congruence. All in all, this gives a powerful and modular framework for simplified coinductive proofs of equivalence. Jurriaan Rot, Filippo Bonchi, Marcello M. Bonsangue, Damien Pous, Jan Rutten, Alexandra Silva 0001 |
Math. Struct. Comput. Sci. | 6 |
| 2016 | Coalgebraic LearningabstractThe area of automata learning was pioneered by Angluin in the 80's. Her original algorithm, which applied to regular languages and deterministic automata, has been extended to various types of automata and used in software and hardware verification. In this talk, we will take an abstract perspective at automata learning. We show how the correctness of the original algorithm and many extensions can be captured in one proof using coalgebraic techniques. We also show that a novel algorithm for nominal automata can be derived from the abstract framework. Alexandra Silva 0001 |
CSL | 1 |
| 2016 | Probabilistic NetKAT
Nate Foster, Dexter Kozen, Konstantinos Mamouras, Mark Reitblatt, Alexandra Silva 0001 |
ESOP | 5 |
| 2016 | A coalgebraic view on decorated tracesabstractIn the concurrency theory, various semantic equivalences on transition systems are based on traces decorated with some additional observations, generally referred to as decorated traces. Using the generalized powerset construction, recently introduced by a subset of the authors (Silva et al.2010 FSTTCS. LIPIcs8 272–283), we give a coalgebraic presentation of decorated trace semantics. The latter include ready, failure, (complete) trace, possible futures, ready trace and failure trace semantics for labelled transition systems, and ready, (maximal) failure and (maximal) trace semantics for generative probabilistic systems. This yields a uniform notion of minimal representatives for the various decorated trace equivalences, in terms of final Moore automata. As a consequence, proofs of decorated trace equivalence can be given by coinduction, using different types of (Moore-) bisimulation (up-to context). Filippo Bonchi, Marcello M. Bonsangue, Georgiana Caltais, Jan Rutten, Alexandra Silva 0001 |
Math. Struct. Comput. Sci. | 5 |
| 2015 | Completeness and Incompleteness in Nominal Kleene Algebra
Dexter Kozen, Konstantinos Mamouras, Alexandra Silva 0001 |
RAMiCS | 3 |
| 2015 | Applications of Automata and Concurrency Theory in Networks (Invited Paper)abstractNetworks have received widespread attention in recent years as a target for domain-specific language design. The emergence of software-defined networking (SDN) as a popular paradigm for network programming has led to the appearance of a number of SDN programming languages seeking to provide high-level abstractions to simplify the task of specifying the packet-processing behavior of a network. Previous work by Anderson et al. [Anderson et al.,POPL'14,2014] introduced NetKAT, a language and logic for specifying and verifying the packet-processing behavior of networks. NetKAT provides general-purpose programming constructs such as parallel and sequential composition, conditional tests, and iteration, as well as special-purpose primitives for querying and modifying packet headers and encoding network topologies. In contrast to competing approaches, NetKAT has a formal mathematical semantics and an equational deductive system that is sound and complete over that semantics, as well as a PSPACE decision procedure. It is based on Kleene algebra with tests (KAT), an algebraic system for propositional program verification that has been extensively studied for nearly two decades [Kozen,ACM Trans. Program. Lang. Syst.,1997]. Several practical applications of NetKAT have been developed, including algorithms for testing reachability and non-interference and a syntactic correctness proof for a compiler that translates programs to hardware instructions for SDN switches. In a follow-up paper [Foster et al.,POPL'15,2015], the coalgebraic theory of NetKAT was developed and a bisimulation-based algorithm for deciding equivalence was devised. The new algorithm was shown to be significantly more efficient than the previous naive algorithm [Anderson et al.,POPL'14,2014], which was PSPACE in the best case and the worst case, as it was based on the determinization of a nondeterministic algorithm. Along with the coalgebraic model of NetKAT, the authors presented a specialized version of the Brzozowski derivative in both semantic and syntactic forms. They also also proved a version of Kleene's theorem for NetKAT that shows that the coalgebraic model is equivalent to the standard packet-processing and language models introduced previously [Anderson et al.,POPL'14,2014]. They demonstrated the real-world applicability of the tool by using it to decide common network verification questions such as all-pairs connectivity, loop-freedom, and translation validation - all pressing questions in modern networks. This talk will survey applications of automata theory, concurrency theory and coalgebra to problems in networking. We will suggest directions for exploring the bridge between the two communities and ways to deliver new synergies. On the one hand, this will lead to new insights and techniques that will enable the development of rigorous semantic foundations for networks. On the other hand, the idysiocransies of networks will provide new challenges for the automata and concurrency community. Alexandra Silva 0001 |
CONCUR | 1 |
| 2015 | Nominal Kleene Coalgebra
Dexter Kozen, Konstantinos Mamouras, Daniela Petrisan, Alexandra Silva 0001 |
ICALP (2) | 4 |
| 2015 | A Coalgebraic Decision Procedure for NetKATabstractNetKAT is a domain-specific language and logic for specifying and verifying network packet-processing functions. It consists of Kleene algebra with tests (KAT) augmented with primitives for testing and modifying packet headers and encoding network topologies. Previous work developed the design of the language and its standard semantics, proved the soundness and completeness of the logic, defined a PSPACE algorithm for deciding equivalence, and presented several practical applications. Nate Foster, Dexter Kozen, Mae Milano, Alexandra Silva 0001, Laure Thompson |
POPL | 4 |
| 2015 | A Coinductive Framework for Infinitary Rewriting and Equational ReasoningabstractWe present a coinductive framework for defining infinitary analogues of equational reasoning and rewriting in a uniform way. The setup captures rewrite sequences of arbitrary ordinal length, but it has neither the need for ordinals nor for metric convergence. This makes the framework especially suitable for formalizations in theorem provers. Jörg Endrullis, Helle Hvid Hansen, Dimitri Hendriks, Andrew Polonsky, Alexandra Silva 0001 |
RTA | 5 |
| 2015 | Trace semantics via determinization
Bart Jacobs 0001, Alexandra Silva 0001, Ana Sokolova |
J. Comput. Syst. Sci. | 2 |
| 2015 | Preface for the special issue on Interaction and Concurrency Experience 2012
Marco Carbone, Ivan Lanese, Alexandra Silva 0001, Ana Sokolova |
Sci. Comput. Program. | 3 |
| 2015 | Killing epsilons with a dagger: A coalgebraic study of systems with algebraic label structure
Filippo Bonchi, Stefan Milius, Alexandra Silva 0001, Fabio Zanasi |
Theor. Comput. Sci. | 3 |
| 2014 | A compositional model to reason about end-to-end QoS in Stochastic Reo connectors
Young-Joo Moon 0001, Alexandra Silva 0001, Christian Krause 0001, Farhad Arbab |
Sci. Comput. Program. | 2 |
| 2014 | Algebra-coalgebra duality in Brzozowski's minimization algorithmabstractWe give a new presentation of Brzozowski's algorithm to minimize finite automata using elementary facts from universal algebra and coalgebra and building on earlier work by Arbib and Manes on a categorical presentation of Kalman duality between reachability and observability. This leads to a simple proof of its correctness and opens the door to further generalizations. Notably, we derive algorithms to obtain minimal language equivalent automata from Moore nondeterministic and weighted automata. Filippo Bonchi, Marcello M. Bonsangue, Helle Hvid Hansen, Prakash Panangaden, Jan Rutten, Alexandra Silva 0001 |
ACM Trans. Comput. Log. | 6 |
| 2013 | Brzozowski's and Up-To Algorithms for Must Testing
Filippo Bonchi, Georgiana Caltais, Damien Pous, Alexandra Silva 0001 |
APLAS | 4 |
| 2013 | A Coalgebraic View of ε-Transitions
Alexandra Silva 0001, Bram Westerbaan |
CALCO | 1 |
| 2013 | Language Constructs for Non-Well-Founded Computation
Jean-Baptiste Jeannin, Dexter Kozen, Alexandra Silva 0001 |
ESOP | 3 |
| 2013 | Automatic equivalence proofs for non-deterministic coalgebras
Marcello M. Bonsangue, Georgiana Caltais, Eugen-Ioan Goriac, Dorel Lucanu, Jan Rutten, Alexandra Silva 0001 |
Sci. Comput. Program. | 6 |
| 2013 | Sound and Complete Axiomatizations of Coalgebraic Language EquivalenceabstractCoalgebras provide a uniform framework for studying dynamical systems, including several types of automata. In this article, we make use of the coalgebraic view on systems to investigate, in a uniform way, under which conditions calculi that are sound and complete with respect to behavioral equivalence can be extended to a coarser coalgebraic language equivalence, which arises from a generalized powerset construction that determinizes coalgebras. We show that soundness and completeness are established by proving that expressions modulo axioms of a calculus form the rational fixpoint of the given type functor. Our main result is that the rational fixpoint of the functor FT , where T is a monad describing the branching of the systems (e.g., non-determinism, weights, probability, etc.), has as a quotient the rational fixpoint of the determinized type functor F , a lifting of F to the category of T -algebras. We apply our framework to the concrete example of weighted automata, for which we present a new sound and complete calculus for weighted language equivalence. As a special case, we obtain nondeterministic automata in which we recover Rabinovich’s sound and complete calculus for language equivalence. Marcello M. Bonsangue, Stefan Milius, Alexandra Silva 0001 |
ACM Trans. Comput. Log. | 3 |
| 2012 | Left-Handed Completeness
Dexter Kozen, Alexandra Silva 0001 |
RAMiCS | 2 |
| 2012 | A Coalgebraic Perspective on Minimization and Determinization
Jirí Adámek, Filippo Bonchi, Mathias Hülsbusch, Barbara König 0001, Stefan Milius, Alexandra Silva 0001 |
FoSSaCS | 6 |
| 2012 | A coalgebraic perspective on linear weighted automata
Filippo Bonchi, Marcello M. Bonsangue, Michele Boreale, Jan Rutten, Alexandra Silva 0001 |
Inf. Comput. | 5 |
| 2012 | A model of context-dependent component connectors
Marcello M. Bonsangue, Dave Clarke 0001, Alexandra Silva 0001 |
Sci. Comput. Program. | 3 |
| 2011 | Quantitative Kleene coalgebras
Alexandra Silva 0001, Filippo Bonchi, Marcello M. Bonsangue, Jan Rutten |
Inf. Comput. | 1 |
| 2011 | PrefaceabstractContains fulltext : 92215.pdf (Publisher’s version ) (Open Access) Bart Jacobs 0001, Milad Niqui, Jan Rutten, Alexandra Silva 0001 |
Theor. Comput. Sci. | 4 |
| 2010 | Generalizing the powerset construction, coalgebraicallyabstractCoalgebra is an abstract framework for the uniform study of different kinds of dynamical systems. An endofunctor $F$ determines both the type of systems ($F$-coalgebras) and a notion of behavioral equivalence ($\sim_F$) amongst them. Many types of transition systems and their equivalences can be captured by a functor $F$. For example, for deterministic automata the derived equivalence is language equivalence, while for non-deterministic automata it is ordinary bisimilarity. The powerset construction is a standard method for converting a nondeterministic automaton into an equivalent deterministic one as far as language is concerned. In this paper, we lift the powerset construction on automata to the more general framework of coalgebras with structured state spaces. Examples of applications include partial Mealy machines, (structured) Moore automata, and Rabin probabilistic automata. Alexandra Silva 0001, Filippo Bonchi, Marcello M. Bonsangue, Jan Rutten |
FSTTCS | 1 |
| 2010 | A coinductive calculus of binary trees
Alexandra Silva 0001, Jan Rutten |
Inf. Comput. | 1 |
| 2009 | Deriving Syntax and Axioms for Quantitative Regular Behaviours
Filippo Bonchi, Marcello M. Bonsangue, Jan Rutten, Alexandra Silva 0001 |
CONCUR | 4 |
| 2009 | Automata for Context-Dependent Connectors
Marcello M. Bonsangue, Dave Clarke 0001, Alexandra Silva 0001 |
COORDINATION | 3 |
| 2009 | A Kleene Theorem for Polynomial Coalgebras
Marcello M. Bonsangue, Jan Rutten, Alexandra Silva 0001 |
FoSSaCS | 3 |
| 2009 | An Algebra for Kripke Polynomial CoalgebrasabstractSeveral dynamical systems, such as deterministic automata and labelled transition systems, can be described as coalgebras of so-called Kripke polynomial functors, built up from constants and identities, using product, coproduct and powerset. Locally finite Kripke polynomial coalgebras can be characterized up to bisimulation by a specification language that generalizes Kleene's regular expressions for finite automata. In this paper we equip this specification language with an axiomatization and prove it sound and complete with respect to bisimulation, using a purely coalgebraic argument. We demonstrate the usefulness of our framework by providing a finite equational system for (non-)deterministic finite automata, labelled transition systems with explicit termination and automata on guarded strings. © 2009 IEEE. Marcello M. Bonsangue, Jan Rutten, Alexandra Silva 0001 |
LICS | 3 |
| 2008 | Coalgebraic Logic and Synthesis of Mealy Machines
Marcello M. Bonsangue, Jan Rutten, Alexandra Silva 0001 |
FoSSaCS | 3 |
| 2007 | Behavioural Differential Equations and Coinduction for Binary Trees
Alexandra Silva 0001, Jan Rutten |
WoLLIC | 1 |
| 2006 | Strong types for relational databasesabstractHaskell's type system with multi-parameter constructor classes and functional dependencies allows static (compile-time) computations to be expressed by logic programming on the level of types. This emergent capability has been exploited for instance to model arbitrary-length tuples (heterogeneous lists), extensible records, functions with variable length argument lists, and (homogenous) lists of statically fixed length (vectors).We explain how type-level programming can be exploited to define a strongly-typed model of relational databases and operations on them. In particular, we present a strongly typed embedding of a significant subset of SQL in Haskell. In this model, meta-data is represented by type-level entities that guard the semantic correctness of database operations at compile time.Apart from the standard relational database operations, such as selection and join, we model functional dependencies (among table attributes), normal forms, and operations for database transformation. We show how functional dependency information can be represented at the type level, and can be transported through operations. This means that type inference statically computes functional dependencies on the result from those on the arguments.Our model shows that Haskell can be used to design and prototype typed languages for designing, programming, and transforming relational databases. Alexandra Silva 0001, Joost Visser 0001 |
Haskell | 1 |