Skip to main content

2013 | Buch

Foundations of Software Science and Computation Structures

16th International Conference, FOSSACS 2013, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2013, Rome, Italy, March 16-24, 2013. Proceedings

insite
SUCHEN

Über dieses Buch

This book constitutes the proceedings of the 16th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2013, held as part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2013, which took place in Rome, Italy, in March 2013 The 28 papers presented in this volume were carefully reviewed and selected from 109 submissions. They are organized in topical sections named: models of computation; reasoning about processes; bisimulation; modal and higher-order logics; reasoning about programs; computational complexity; quantitative models; and categorical models.

Inhaltsverzeichnis

Frontmatter

Models of Computation

Pattern Graphs and Rule-Based Models: The Semantics of Kappa
Abstract
Domain-specific rule-based languages to represent the systems of reactions that occur inside cells, such as Kappa and BioNetGen, have attracted significant recent interest. For these models, powerful simulation and static analysis techniques have been developed to understand the behaviour of the systems that they represent, and these techniques can be transferred to other fields. The languages can be understood intuitively as transforming graph-like structures, but due to their expressivity these are difficult to model in ‘traditional’ graph rewriting frameworks. In this paper, we introduce pattern graphs and closed morphisms as a more abstract graph-like model and show how Kappa can be encoded in them by connecting its single-pushout semantics to that for Kappa. This level of abstraction elucidates the earlier single-pushout result for Kappa, teasing apart the proof and guiding the way to richer languages, for example the introduction of compartments within cells.
Jonathan Hayman, Tobias Heindel
History-Register Automata
Abstract
Programs with dynamic allocation are able to create and use an unbounded number of fresh resources, such as references, objects, files, etc. We propose History-Register Automata (HRA), a new automata-theoretic formalism for modelling and analysing such programs. HRAs extend the expressiveness of previous approaches and bring us to the limits of decidability for reachability checks. The distinctive feature of our machines is their use of unbounded memory sets (histories) where input symbols can be selectively stored and compared with symbols to follow. In addition, stored symbols can be consumed or deleted by reset. We show that the combination of consumption and reset capabilities renders the automata powerful enough to imitate counter machines (Petri nets with reset arcs), and yields closure under all regular operations apart from complementation. We moreover examine weaker notions of HRAs which strike different balances between expressiveness and effectiveness.
Nikos Tzevelekos, Radu Grigore
Fatal Attractors in Parity Games
Abstract
We study a new form of attractor in parity games and use it to define solvers that run in PTIME and are partial in that they do not solve all games completely. Technically, for color c this new attractor determines whether player c% 2 can reach a set of nodes X of color c whilst avoiding any nodes of color less than c. Such an attractor is fatal if player c%2 can attract all nodes in X back to X in this manner. Our partial solvers detect fixed-points of nodes based on fatal attractors and correctly classify such nodes as won by player c%2. Experimental results show that our partial solvers completely solve benchmarks that were constructed to challenge existing full solvers. Our partial solvers also have encouraging run times in practice. For one partial solver we prove that its runtime is in \(O({\mid\!{V}\!\mid}^3)\), that its output game is independent of the order in which attractors are computed, and that it solves all Büchi games.
Michael Huth, Jim Huan-Pu Kuo, Nir Piterman

Reasoning about Processes

On Unique Decomposition of Processes in the Applied π-Calculus
Abstract
Unique decomposition has been a subject of interest in process algebra for a long time (for example in BPP [2] or CCS [11,13]), as it provides a normal form with useful cancellation properties. We provide two parallel decomposition results for subsets of the Applied π-Calculus: we show that any closed normed (i.e. with a finite shortest complete trace) process P can be decomposed uniquely into prime factors P i with respect to strong labeled bisimilarity, i.e. such that P ~ l P 1 | …| P n . We also prove that closed finite processes can be decomposed uniquely with respect to weak labeled bisimilarity.
Jannik Dreier, Cristian Ene, Pascal Lafourcade, Yassine Lakhnech
Bounded Context-Switching and Reentrant Locking
Abstract
Reentrant locking is a recursive locking mechanism which allows a thread in a multi-threaded program to acquire the reentrant lock multiple times. The thread must release this lock an equal number of times before another thread can acquire this lock. We consider the control state reachability problem for recursive multi-threaded programs synchronizing via a finite number of reentrant locks. Such programs can be abstracted as multi-pushdown systems with a finite number of counters. The pushdown stacks model the call stacks of the threads and the counters model the reentrant locks. The control state reachability problem is already undecidable for non-reentrant locks. As a consequence, for non-reentrant locks, under-approximation techniques which restrict the search space have gained traction. One popular technique is to limit the number of context switches. Our main result is that the problem of checking whether a control state is reachable within a bounded number of context switches is decidable for recursive multi-threaded programs synchronizing via a finite number of reentrant locks if we restrict the lock-usage to contextual locking: a release of an instance of reentrant lock can only occur if the instance was acquired before in the same procedure and each instance of a reentrant lock acquired in a procedure call must be released before the procedure returns. The decidability is obtained by a reduction to the reachability problem of Vector Addition Systems with States (VASS).
Rémi Bonnet, Rohit Chadha
Reachability of Communicating Timed Processes
Abstract
We study the reachability problem for communicating timed processes, both in discrete and dense time. Our model comprises automata with local timing constraints communicating over unbounded FIFO channels. Each automaton can only access its set of local clocks; all clocks evolve at the same rate. Our main contribution is a complete characterization of decidable and undecidable communication topologies, for both discrete and dense time. We also obtain complexity results, by showing that communicating timed processes are at least as hard as Petri nets; in the discrete time, we also show equivalence with Petri nets. Our results follow from mutual topology-preserving reductions between timed automata and (untimed) counter automata. To account for urgency of receptions, we also investigate the case where processes can test emptiness of channels.
Lorenzo Clemente, Frédéric Herbreteau, Amelie Stainer, Grégoire Sutre

Bisimulation

Modular Bisimulation Theory for Computations and Values
Abstract
For structural operational semantics (SOS) of process algebras, various notions of bisimulation have been studied, together with rule formats ensuring that bisimilarity is a congruence. For programming languages, however, SOS generally involves auxiliary entities (e.g. stores) and computed values, and the standard bisimulation and rule formats are not directly applicable.
Here, we first introduce a notion of bisimulation based on the distinction between computations and values, with a corresponding liberal congruence format. We then provide metatheory for a modular variant of SOS (MSOS) which provides a systematic treatment of auxiliary entities. This is based on a higher order form of bisimulation, and we formulate an appropriate congruence format. Finally, we show how algebraic laws can be proved sound for bisimulation with reference only to the (M)SOS rules defining the programming constructs involved in them. Such laws remain sound for languages that involve further constructs.
Martin Churchill, Peter D. Mosses
Checking Bisimilarity for Attributed Graph Transformation
Abstract
Borrowed context graph transformation is a technique developed by Ehrig and Koenig to define bisimilarity congruences from reduction semantics defined by graph transformation. This means that, for instance, this technique can be used for defining bisimilarity congruences for process calculi whose operational semantics can be defined by graph transformation. Moreover, given a set of graph transformation rules, the technique can be used for checking bisimilarity of two given graphs. Unfortunately, we can not use this ideas to check if attributed graphs are bisimilar, i.e. graphs whose nodes or edges are labelled with values from some given data algebra and where graph transformation involves computation on that algebra. The problem is that, in the case of attributed graphs, borrowed context transformation may be infinitely branching. In this paper, based on borrowed context transformation of what we call symbolic graphs, we present a sound and relatively complete inference system for checking bisimilarity of attributed graphs. In particular, this means that, if using our inference system we are able to prove that two graphs are bisimilar then they are indeed bisimilar. Conversely, two graphs are not bisimilar if and only if we can find a proof saying so, provided that we are able to prove some formulas over the given data algebra. Moreover, since the proof system is complex to use, we also present a tableau method based on the inference system that is also sound and relatively complete.
Fernando Orejas, Artur Boronat, Ulrike Golas, Nikos Mylonakis
Comodels and Effects in Mathematical Operational Semantics
Abstract
In the mid-nineties, Turi and Plotkin gave an elegant categorical treatment of denotational and operational semantics for process algebra-like languages, proving compositionality and adequacy by defining operational semantics as a distributive law of syntax over behaviour. However, its applications to stateful or effectful languages, incorporating (co)models of a countable Lawvere theory, have been elusive so far. We make some progress towards a coalgebraic treatment of such languages, proposing a congruence format related to the evaluation-in-context paradigm. We formalise the denotational semantics in suitable Kleisli categories, and prove adequacy and compositionality of the semantic theory under this congruence format.
Faris Abou-Saleh, Dirk Pattinson
Preorders on Monads and Coalgebraic Simulations
Abstract
We study the construction of preorders on Set-monads by the semantic ⊤ ⊤-lifting. We show the universal property of this construction, and characterise the class of preorders on a monad as a limit of a Card op -chain. We apply these theoretical results to identifying preorders on some concrete monads, including the powerset monad, maybe monad, and their composite monad. We also relate the construction of preorders and coalgebraic formulation of simulations.
Shin-ya Katsumata, Tetsuya Sato

Modal and Higher-Order Logics

A Proof System for Compositional Verification of Probabilistic Concurrent Processes
Abstract
We present a formal proof system for compositional verification of probabilistic concurrent processes. Processes are specified using an SOS-style process algebra with probabilistic operators. Properties are expressed using a probabilistic modal μ-calculus. And the proof system is formulated as a sequent calculus in which sequents are given a quantitative interpretation. A key feature is that the probabilistic scenario is handled by introducing the notion of Markov proof, according to which proof trees contain probabilistic branches and are required to satisfy a condition formulated by interpreting them as Markov Decision Processes. We present simple but illustrative examples demonstrating the applicability of the approach to the compositional verification of infinite state processes. Our main result is the soundness of the proof system, which is proved by applying the coupling method from probability theory to the game semantics of the probabilistic modal μ-calculus.
Matteo Mio, Alex Simpson
Partiality and Recursion in Higher-Order Logic
Abstract
We present an illative system \(\ensuremath{{\cal I}}_s\) of classical higher-order logic with subtyping and basic inductive types. The system \(\ensuremath{{\cal I}}_s\) allows for direct definitions of partial and general recursive functions, and provides means for handling functions whose termination has not been proven. We give examples of how properties of some recursive functions may be established in our system. In a technical appendix to the paper we prove consistency of \(\ensuremath{{\cal I}}_s\). The proof is by model construction. We then use this construction to show conservativity of \(\ensuremath{{\cal I}}_s\) over classical first-order logic. Conservativity over higher-order logic is conjectured, but not proven.
Łukasz Czajka
Some Sahlqvist Completeness Results for Coalgebraic Logics
Abstract
This paper presents a first step towards completeness-via-canonicity results for coalgebraic modal logics. Specifically, we consider the relationship between classes of coalgebras for ω-accessible endofunctors and logics defined by Sahlqvist-like frame conditions. Our strategy is based on conjoining two well-known approaches: we represent accessible functors as (equational) quotients of polynomial functors and then use canonicity results for boolean algebras with operators to transport completeness to the coalgebraic setting.
Fredrik Dahlqvist, Dirk Pattinson
Cut Elimination in Nested Sequents for Intuitionistic Modal Logics
Abstract
We present cut-free deductive systems without labels for the intuitionistic variants of the modal logics obtained by extending IK with a subset of the axioms d, t, b, 4, and 5. For this, we use the formalism of nested sequents, which allows us to give a uniform cut elimination argument for all 15 logic in the intuitionistic S5 cube.
Lutz Straßburger

Reasoning about Programs

On Monadic Parametricity of Second-Order Functionals
Abstract
How can one rigorously specify that a given ML functional \(f : (\texttt{int} \to \texttt{int}) \to \texttt{int}\) is pure, i.e., f produces no computational effects except those produced by evaluation of its functional argument? In this paper, we introduce a semantic notion of monadic parametricity for second-order functionals which is a form of purity. We show that every monadically parametric f admits a question-answer strategy tree representation. We discuss possible applications of this notion, e.g., to the verification of generic fixpoint algorithms. The results are presented in two settings: a total set-theoretic setting and a partial domain-theoretic one. All proofs are formalized by means of the proof assistant Coq.
Andrej Bauer, Martin Hofmann, Aleksandr Karbyshev
Deconstructing General References via Game Semantics
Abstract
We investigate the game semantics of general references through the fully abstract game model of Abramsky, Honda and McCusker (AHM), which demonstrated that the visibility condition in games corresponds to the extra expressivity afforded by higher-order references with respect to integer references.
First, we prove a stronger version of the visible factorisation result from AHM, by decomposing any strategy into a visible one and a single strategy corresponding to a reference cell of type unit → unit (AHM accounted only for finite strategies and its result involved unboundedly many cells).
We show that the strengthened version of the theorem implies universality of the model and, consequently, we can rely upon it to provide semantic proofs of program transformation results. In particular, one can prove that any program with general references is equivalent to a purely functional program augmented with a single unit → unit reference cell and a single integer cell. We also propose a syntactic method of achieving such a transformation.
Finally, we provide a type-theoretic characterisation of terms in which the use of general references can be simulated with an integer reference cell or through purely functional computation, without any changes to the underlying types.
Andrzej S. Murawski, Nikos Tzevelekos
Separation Logic for Non-local Control Flow and Block Scope Variables
Abstract
We present an approach for handling non-local control flow (goto and return statements) in the presence of allocation and deallocation of block scope variables in imperative programming languages.
We define a small step operational semantics and an axiomatic semantics (in the form of a separation logic) for a small C-like language that combines these two features, and which also supports pointers to block scope variables. Our operational semantics represents the program state through a generalization of Huet’s zipper data structure.
We prove soundness of our axiomatic semantics with respect to our operational semantics. This proof has been fully formalized in Coq.
Robbert Krebbers, Freek Wiedijk

Computational Complexity

The Parametric Ordinal-Recursive Complexity of Post Embedding Problems
Abstract
Post Embedding Problems are a family of decision problems based on the interaction of a rational relation with the subword embedding ordering, and are used in the literature to prove non multiply-recursive complexity lower bounds. We refine the construction of Chambart and Schnoebelen (LICS 2008) and prove parametric lower bounds depending on the size of the alphabet.
Prateek Karandikar, Sylvain Schmitz
Deciding Definability by Deterministic Regular Expressions
Abstract
We investigate the complexity of deciding whether a given regular language can be defined with a deterministic regular expression. Our main technical result shows that the problem is PSPACE-complete if the input language is represented as a regular expression or nondeterministic finite automaton. The problem becomes EXPSPACE-complete if the language is represented as a regular expression with counters.
Wojciech Czerwiński, Claire David, Katja Losemann, Wim Martens
Type-Based Complexity Analysis for Fork Processes
Abstract
We introduce a type system for concurrent programs described as a parallel imperative language using while-loops and fork/wait instructions, in which processes do not share a global memory, in order to analyze computational complexity. The type system provides an analysis of the data-flow based both on a data ramification principle related to tiering discipline and on secure typed languages. The main result states that well-typed processes characterize exactly the set of functions computable in polynomial space under termination, confluence and lock-freedom assumptions. More precisely, each process computes in polynomial time so that the evaluation of a process may be performed in polynomial time on a parallel model of computation. Type inference of the presented analysis is decidable in linear time provided that basic operator semantics is known.
Emmanuel Hainry, Jean-Yves Marion, Romain Péchoux
Pure Pointer Programs and Tree Isomorphism
Abstract
In a previous work, Hofmann and Schöpp have introduced the programming language purple to formalise the common intuition of logspace-algorithms as pure pointer programs that take as input some structured data (e.g. a graph) and store in memory only a constant number of pointers to the input (e.g. to the graph nodes). It was shown that purple is strictly contained in logspace, being unable to decide st-connectivity in undirected graphs.
In this paper we study the options of strengthening purple as a manageable idealisation of computation with logarithmic space that may be used to give some evidence that ptime-problems such as Horn satisfiability cannot be solved in logarithmic space.
We show that with counting, purple captures all of logspace on locally ordered graphs. Our main result is that without a local ordering, even with counting and nondeterminism, purple cannot solve tree isomorphism. This generalises the same result for Transitive Closure Logic with counting, to a formalism that can iterate over the input structure, furnishing a new proof as a by-product.
Martin Hofmann, Ramyaa Ramyaa, Ulrich Schöpp

Quantitative Models

A Language for Differentiable Functions
Abstract
We introduce a typed lambda calculus in which real numbers, real functions, and in particular continuously differentiable and more generally Lipschitz functions can be defined. Given an expression representing a real-valued function of a real variable in this calculus, we are able to evaluate the expression on an argument but also evaluate the L-derivative of the expression on an argument. The language is an extension of PCF with a real number data-type but is equipped with primitives for min and weighted average to capture computable continuously differentiable or Lipschitz functions on real numbers. We present an operational semantics and a denotational semantics based on continuous Scott domains and several logical relations on these domains. We then prove an adequacy result for the two semantics. The denotational semantics also provides denotational semantics for Automatic Differentiation. We derive a definability result showing that for any computable Lipschitz function there is a closed term in the language whose evaluation on any real number coincides with the value of the function and whose derivative expression also evaluates on the argument to the value of the L-derivative of the function.
Pietro Di Gianantonio, Abbas Edalat
Computing Quantiles in Markov Reward Models
Abstract
Probabilistic model checking mainly concentrates on techniques for reasoning about the probabilities of certain path properties or expected values of certain random variables. For the quantitative system analysis, however, there is also another type of interesting performance measure, namely quantiles. A typical quantile query takes as input a lower probability bound p ∈ ]0,1] and a reachability property. The task is then to compute the minimal reward bound r such that with probability at least p the target set will be reached before the accumulated reward exceeds r. Quantiles are well-known from mathematical statistics, but to the best of our knowledge they have not been addressed by the model checking community so far.
In this paper, we study the complexity of quantile queries for until properties in discrete-time finite-state Markov decision processes with nonnegative rewards on states. We show that qualitative quantile queries can be evaluated in polynomial time and present an exponential algorithm for the evaluation of quantitative quantile queries. For the special case of Markov chains, we show that quantitative quantile queries can be evaluated in pseudo-polynomial time.
Michael Ummels, Christel Baier
Parameterized Weighted Containment
Abstract
Partially-specified systems and specifications are used in formal methods such as stepwise design and query checking. Existing methods consider a setting in which the systems and their correctness are Boolean. In recent years there has been growing interest and need for quantitative formal methods, where systems may be weighted and specifications may be multi valued. Weighted automata, which map input words to a numerical value, play a key role in quantitative reasoning. Technically, every transition in a weighted automaton \(\mathcal{A}\) has a cost, and the value \(\mathcal{A}\) assigns to a finite word w is the sum of the costs on the transitions participating in the most expensive accepting run of \(\mathcal{A}\) on w. We study parameterized weighted containment: given three weighted automata \(\mathcal{A}, \mathcal{B}\), and \(\mathcal{C}\), with \(\mathcal{B}\) being partial, the goal is to find an assignment to the missing costs in \(\mathcal{B}\) so that we end up with \(\mathcal{B}'\) for which \(\mathcal{A} \leq \mathcal{B}' \leq \mathcal{C}\), where ≤ is the weighted counterpart of containment. We also consider a one-sided version of the problem, where only \(\mathcal{A}\) or only \(\mathcal{C}\) are given in addition to \(\mathcal{B}\), and the goal is to find a minimal assignment with which \(\mathcal{A} \leq B'\) or, respectively, a maximal one with which \(\mathcal{B}' \leq \mathcal{C}\). We argue that both problems are useful in stepwise design of weighted systems as well as approximated minimization of weighted automata.
We show that when the automata are deterministic, we can solve the problems in polynomial time. Our solution is based on the observation that the set of legal assignments to k missing costs forms a k-dimensional polytope. The technical challenge is to find an assignment in polynomial time even though the polytope is defined by means of exponentially many inequalities. We do so by using a powerful mathematical tool that enables us to develop a divide-and-conquer algorithm based on a separation oracle for polytopes. For nondeterministic automata, the weighted setting is much more complex, and in fact even non-parameterized containment is undecidable. We are still able to study variants of the problems, where containment is replaced by simulation.
Guy Avni, Orna Kupferman
Weighted Specifications over Nested Words
Abstract
This paper studies several formalisms to specify quantitative properties of finite nested words (or equivalently finite unranked trees). These can be used for XML documents or recursive programs: for instance, counting how often a given entry occurs in an XML document, or computing the memory required for a recursive program execution. Our main interest is to translate these properties, as efficiently as possible, into an automaton, and to use this computational device to decide problems related to the properties (e.g., emptiness, model checking, simulation) or to compute the value of a quantitative specification over a given nested word. The specification formalisms are weighted regular expressions (with forward and backward moves following linear edges or call-return edges), weighted first-order logic, and weighted temporal logics. We introduce weighted automata walking in nested words, possibly dropping/lifting (reusable) pebbles during the traversal. We prove that the evaluation problem for such automata can be done very efficiently if the number of pebble names is small, and we also consider the emptiness problem.
Benedikt Bollig, Paul Gastin, Benjamin Monmege

Categorical Models

An Algebraic Presentation of Predicate Logic
(Extended Abstract)
Abstract
We present an algebraic theory for a fragment of predicate logic. The fragment has disjunction, existential quantification and equality. It is not an algebraic theory in the classical sense, but rather within a new framework that we call ‘parameterized algebraic theories’.
We demonstrate the relevance of this algebraic presentation to computer science by identifying a programming language in which every type carries a model of the algebraic theory. The result is a simple functional logic programming language.
We provide a syntax-free representation theorem which places terms in bijection with sieves, a concept from category theory.
We study presentation-invariance for general parameterized algebraic theories by providing a theory of clones. We show that parameterized algebraic theories characterize a class of enriched monads.
Sam Staton
Strategies as Profunctors
Abstract
A new characterization of nondeterministic concurrent strategies exhibits strategies as certain discrete fibrations—or equivalently presheaves—over configurations of the game. This leads to a lax functor from the bicategory of strategies to the bicategory of profunctors. The lax functor expresses how composition of strategies is obtained from that of profunctors by restricting to ‘reachable’ elements, which gives an alternative formulation of the composition of strategies. It provides a fundamental connection—and helps explain the mismatches—between two generalizations of domain theory to forms of intensional domain theories, one based on games and strategies, and the other on presheaf categories and profunctors. In particular cases, on the sub-bicategory of rigid strategies which includes ‘simple games’ (underlying AJM and HO games), and stable spans (specializing to Berry’s stable functions, in the deterministic case), the lax functor becomes a pseudo functor. More generally, the laxness of the functor suggests what structure is missing from categories and profunctors in order that they can be made to support the operations of games and strategies. By equipping categories with the structure of a ‘rooted’ factorization system and ensuring all elements of profunctors are ‘reachable,’ we obtain a pseudo functor embedding the bicategory of strategies in the bicategory of reachable profunctors. This shift illuminates early work on bistructures and bidomains, where the Scott order and Berry’s stable order are part of a factorization system, giving a sense in which bidomains are games.
Glynn Winskel
Generalised Name Abstraction for Nominal Sets
Abstract
The Gabbay-Pitts nominal sets model provides a framework for reasoning with names in abstract syntax. It has appealing semantics for name binding, via a functor mapping each nominal set to the ‘atom-abstractions’ of its elements. We wish to generalise this construction for applications where sets, lists, or other patterns of names are bound simultaneously. The atom-abstraction functor has left and right adjoint functors that can themselves be generalised, and their generalisations remain adjoints, but the atom-abstraction functor in the middle comes apart to leave us with two notions of generalised abstraction for nominal sets. We give new descriptions of both notions of abstraction that are simpler than those previously published. We discuss applications of the two notions, and give conditions for when they coincide.
Ranald Clouston
Backmatter
Metadaten
Titel
Foundations of Software Science and Computation Structures
herausgegeben von
Frank Pfenning
Copyright-Jahr
2013
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-37075-5
Print ISBN
978-3-642-37074-8
DOI
https://doi.org/10.1007/978-3-642-37075-5