• S. Akshay

    Reachability and regularity problems for Markov chains

    The dynamic behavior of a Markov chain can be described using sequences of probability distributions starting from an initial (convex) set of distributions. We consider a symbolic representation for these trajectories over a finite alphabet, where the $n^{th}$ letter represents the probability range (instead of an exact value) after n steps of the Markov chain. Our goal is to study reachability and regularity for this symbolic language, which would allow us to perform quantitative verification for Markov chains.

    We start by considering a basic reachability problem which lies at the heart of many of these questions: does there exist an integer n such that the probability to reach in n steps from a given state to another in a Markov chain is exactly some pre-specified value r. Surprisingly, it turns out that this problem is already as hard as the Skolem Problem: a number-theoretic decision problem whose decidability has been open for decades. We then provide some nearly-tight restrictions to the structure (in particular, the eigenvalues) of the Markov chain, under which we show regularity of the symbolic language.

  • Mohamed Faouzi Atig

    The Best of Both Worlds: Trading Efficiency and Optimality in Fence Insertion for TSO

    We present a method for automatic fence insertion in concurrent programs running under weak memory models that provides the best known trade-off between efficiency and optimality. On the one hand, the method can efficiently handle complex aspects of program behaviors such as unbounded buffers and large numbers of processes. On the other hand, it is able to find small sets of fences needed for ensuring correctness of the program. To this end, we propose a novel notion of correctness, called persistence, that compares the behavior of the program under the weak memory semantics with that under the classical interleaving (SC) semantics. We instantiate our framework for the Total Store Ordering (TSO) memory model, and give an algorithm that reduces the fence insertion problem under TSO to the reachability problem for programs running under SC. Furthermore, we provide an abstraction scheme that substantially increases scalability to large numbers of processes. Based on our method, we have implemented a tool and run it successfully on a wide range benchmarks. The experimental results confirm the superiority of our tool compared to existing tools for analysis of programs running under TSO.

    Joint work with Parosh Aziz Abdulla and Tuan Phong Ngo.

  • Paul Gastin

    Formal methods for the verification of distributed algorithms

    We introduce an automata-theoretic method for the verification of distributed algorithms running on ring networks. In a distributed algorithm, an arbitrary number of processes cooperate to achieve a common goal (e.g., elect a leader). Processes have unique identifiers (pids) from an infinite, totally ordered domain. An algorithm proceeds in synchronous rounds, each round allowing a process to perform a bounded sequence of actions such as send or receive a pid, store it in some register, and compare register contents wrt. the associated total order. An algorithm is supposed to be correct independently of the number of processes. To specify correctness properties, we introduce a logic that can reason about processes and pids. Referring to leader election, it may say that, at the end of an execution, each process stores the maximum pid in some dedicated register. Since the verification of distributed algorithms is undecidable, we propose an underapproximation technique, which bounds the number of rounds. This is an appealing approach, as the number of rounds needed by a distributed algorithm to conclude is often exponentially smaller than the number of processes. We provide an automata-theoretic solution, reducing model checking to emptiness for alternating two-way automata on words. Overall, we show that round-bounded verification of distributed algorithms over rings is PSPACE-complete.

    Based on a joint work with C. Aiswarya and Benedikt Bollig, extended abstract at CONCUR 2015.

  • Matthew Hague

    Model-Checking Higher-Order Recursion

    Model-checking problems over first-order recursive programs have been well-studied for both static (inter-procedural) analysis and program verification. Although the foundations for analysing recursion in the presence of higher-order functions has been studied since the 1970s, it is only in the past 10 years that theoretical results have turned into algorithms that can be applied in practice.

    In this talk I will survey the modelling of higher-order functions in terms of recursion schemes or the λY-calculus, as well as through automata models such as collapsible pushdown systems and Krivine machines. I will also briefly describe the growing selection of implementations available for higher-order analysis.

  • Sławomir Lasota

    Automata with timed atoms

    We advocate first-order definable sets (a materialization of sets with timed atoms) as a framework suitable for defining timed models of computation. Roughly speaking, the idea is to reinterpret classical definitions where state spaces, input alphabets, etc, are infinite but orbit-finite; and where transition relation is first-order definable. In particular, such a reinterpretation of nondeterministic finite automata is a slight extension of timed automata; and the reinterpretation of pushdown automata is an extension of dense-timed PDA of Abdulla et al.

    Except a unifying view, the framework offers good algorithmic and closure properties. For instance, NFA with timed atoms are closed under minimization, contrarily to the classical timed automata; and non-emptiness problem for PDA is decidable in NEXPTIME. One can also naturally extend the setting to capture various extensions of timed automata.

  • Benjamin Monmege

    Logics for Weighted Automata and Transducers

    This talk will present some of the recent results obtained in the community on the relationship between weighted automata and weighted logics. The story started 10 years ago with the introduction of a quantitative semantics for MSO logic over words and an equivalence theorem between weighted automata and a restricted weighted MSO logic. Since then, many extensions have been studied: from words to trees, infinite words, pictures, etc; from semirings to more general weight computations. Also, the proof techniques have matured, from low level, carefully mimicking the classical proofs in the boolean setting, to higher level, using various abstract semantics. We illustrate this evolution by introducing a core weighted logic and its abstract semantics as multisets of weight structures. The equivalence between weighted automata and core weighted logic holds at the level of the abstract semantics. We will also demonstrate the versatility of the weighted automata approach by instantiating it into the transducer setting, showing a possible lead towards the design of an alternative logic for transductions.