22 research outputs found
Space-Aware Ambients and Processes
Resource control has attracted increasing interest in foundational research on distributed systems. This paper focuses on space control and develops an analysis of space usage in the context of an ambient-like calculus with bounded capacities and weighed processes, where migration and activation require space. A type system complements the dynamics of the calculus by providing static guarantees that the intended capacity bounds are preserved throughout the computation
Foundations of Software Science and Computation Structures
This open access book constitutes the proceedings of the 24th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2021, which was held during March 27 until April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The 28 regular papers presented in this volume were carefully reviewed and selected from 88 submissions. They deal with research on theories and methods to support the analysis, integration, synthesis, transformation, and verification of programs and software systems
Verification problems for timed and probabilistic extensions of Petri Nets
In the first part of the thesis, we prove the decidability (and PSPACE-completeness) of
the universal safety property on a timed extension of Petri Nets, called Timed Petri Nets.
Every token has a real-valued clock (a.k.a. age), and transition firing is constrained by
the clock values that have integer bounds (using strict and non-strict inequalities). The
newly created tokens can either inherit the age from an input token of the transition or
it can be reset to zero.
In the second part of the thesis, we refer to systems with controlled behaviour that
are probabilistic extensions of VASS and One-Counter Automata. Firstly, we consider
infinite state Markov Decision Processes (MDPs) that are induced by probabilistic
extensions of VASS, called VASS-MDPs. We show that most of the qualitative problems
for general VASS-MDPs are undecidable, and consider a monotone subclass in which
only the controller can change the counter values, called 1-VASS-MDPs. In particular,
we show that limit-sure control state reachability for 1-VASS-MDPs is decidable, i.e.,
checking whether one can reach a set of control states with probability arbitrarily close
to 1. Unlike for finite state MDPs, the control state reachability property may hold limit
surely (i.e. using an infinite family of strategies, each of which achieving the objective
with probability â„ 1-e, for every e > 0), but not almost surely (i.e. with probability 1).
Secondly, we consider infinite state MDPs that are induced by probabilistic extensions of
One-Counter Automata, called One-Counter Markov Decision Processes (OC-MDPs).
We show that the almost-sure {1;2;3}-Parity problem for OC-MDPs is at least as hard
as the limit-sure selective termination problem for OC-MDPs, in which one would
like to reach a particular set of control states and counter value zero with probability
arbitrarily close to 1
CSS Minification via Constraint Solving
Minification is a widely-accepted technique which aims at reducing the size
of the code transmitted over the web. We study the problem of minifying
Cascading Style Sheets (CSS) --- the de facto language for styling web
documents. Traditionally, CSS minifiers focus on simple syntactic
transformations (e.g. shortening colour names). In this paper, we propose a new
minification method based on merging similar rules in a CSS file.
We consider safe transformations of CSS files, which preserve the semantics
of the CSS file. The semantics of CSS files are sensitive to the ordering of
rules in the file. To automatically identify a rule merging opportunity that
best minimises file size, we reduce the rule-merging problem to a problem on
CSS-graphs, i.e., node-weighted bipartite graphs with a dependency ordering on
the edges, where weights capture the number of characters (e.g. in a selector
or in a property declaration). Roughly speaking, the corresponding CSS-graph
problem concerns minimising the total weight of a sequence of bicliques
(complete bipartite subgraphs) that covers the CSS-graph and respects the edge
order.
We provide the first full formalisation of CSS3 selectors and reduce
dependency detection to satisfiability of quantifier-free integer linear
arithmetic, for which highly-optimised SMT-solvers are available. To solve the
above NP-hard graph optimisation problem, we show how Max-SAT solvers can be
effectively employed. We have implemented our algorithms using Max-SAT and
SMT-solvers as backends, and tested against approximately 70 real-world
examples (including the top 20 most popular websites). In our benchmarks, our
tool yields larger savings than six well-known minifiers (which do not perform
rule-merging, but support many other optimisations). Our experiments also
suggest that better savings can be achieved in combination with one of these
six minifiers
Learning categorial grammars
In 1967 E. M. Gold published a paper in which the language classes from the Chomsky-hierarchy were analyzed in terms of learnability, in the technical sense of identification in the limit. His results were mostly negative, and perhaps because of this his work had little impact on linguistics.
In the early eighties there was renewed interest in the paradigm, mainly because of work by Angluin and Wright. Around the same time, Arikawa and his co-workers refined the paradigm by applying it to so-called Elementary Formal Systems. By making use of this approach Takeshi Shinohara was able to come up with an impressive result; any class of context-sensitive grammars with a bound on its number of rules is learnable.
Some linguistically motivated work on learnability also appeared from this point on, most notably Wexler & Culicover 1980 and Kanazawa 1994. The latter investigates the learnability of various classes of categorial grammar, inspired by work by Buszkowski and Penn, and raises some interesting questions.
We follow up on this work by exploring complexity issues relevant to learning these classes, answering an open question from Kanazawa 1994, and applying the same kind of approach to obtain (non)learnable classes of Combinatory Categorial Grammars, Tree Adjoining Grammars, Minimalist grammars, Generalized Quantifiers, and some variants of Lambek Grammars. We also discuss work on learning tree languages and its application to learning Dependency Grammars.
Our main conclusions are:
- formal learning theory is relevant to linguistics,
- identification in the limit is feasible for non-trivial classes,
- the `Shinohara approach' -i.e., placing a numerical bound on the complexity of a grammar- can lead to a learnable class, but this completely depends on the specific nature of the formalism and the notion of complexity. We give examples of natural classes of commonly used linguistic formalisms that resist this kind of approach,
- learning is hard work. Our results indicate that learning even `simple' classes of languages requires a lot of computational effort,
- dealing with structure (derivation-, dependency-) languages instead of string languages offers a useful and promising approach to learnabilty in a linguistic contex
Programming Using Automata and Transducers
Automata, the simplest model of computation, have proven to be an effective tool in reasoning about programs that operate over strings. Transducers augment automata to produce outputs and have been used to model string and tree transformations such as natural language translations. The success of these models is primarily due to their closure properties and decidable procedures, but good properties come at the price of limited expressiveness. Concretely, most models only support finite alphabets and can only represent small classes of languages and transformations. We focus on addressing these limitations and bridge the gap between the theory of automata and transducers and complex real-world applications: Can we extend automata and transducer models to operate over structured and infinite alphabets? Can we design languages that hide the complexity of these formalisms? Can we define executable models that can process the input efficiently? First, we introduce succinct models of transducers that can operate over large alphabets and design BEX, a language for analysing string coders. We use BEX to prove the correctness of UTF and BASE64 encoders and decoders. Next, we develop a theory of tree transducers over infinite alphabets and design FAST, a language for analysing tree-manipulating programs. We use FAST to detect vulnerabilities in HTML sanitizers, check whether augmented reality taggers conflict, and optimize and analyze functional programs that operate over lists and trees. Finally, we focus on laying the foundations of stream processing of hierarchical data such as XML files and program traces. We introduce two new efficient and executable models that can process the input in a left-to-right linear pass: symbolic visibly pushdown automata and streaming tree transducers. Symbolic visibly pushdown automata are closed under Boolean operations and can specify and efficiently monitor complex properties for hierarchical structures over infinite alphabets. Streaming tree transducers can express and efficiently process complex XML transformations while enjoying decidable procedures