366 research outputs found
Safety verification of asynchronous pushdown systems with shaped stacks
In this paper, we study the program-point reachability problem of concurrent
pushdown systems that communicate via unbounded and unordered message buffers.
Our goal is to relax the common restriction that messages can only be retrieved
by a pushdown process when its stack is empty. We use the notion of partially
commutative context-free grammars to describe a new class of asynchronously
communicating pushdown systems with a mild shape constraint on the stacks for
which the program-point coverability problem remains decidable. Stacks that fit
the shape constraint may reach arbitrary heights; further a process may execute
any communication action (be it process creation, message send or retrieval)
whether or not its stack is empty. This class extends previous computational
models studied in the context of asynchronous programs, and enables the safety
verification of a large class of message passing programs
On the Expressive Power of 2-Stack Visibly Pushdown Automata
Visibly pushdown automata are input-driven pushdown automata that recognize
some non-regular context-free languages while preserving the nice closure and
decidability properties of finite automata. Visibly pushdown automata with
multiple stacks have been considered recently by La Torre, Madhusudan, and
Parlato, who exploit the concept of visibility further to obtain a rich
automata class that can even express properties beyond the class of
context-free languages. At the same time, their automata are closed under
boolean operations, have a decidable emptiness and inclusion problem, and enjoy
a logical characterization in terms of a monadic second-order logic over words
with an additional nesting structure. These results require a restricted
version of visibly pushdown automata with multiple stacks whose behavior can be
split up into a fixed number of phases. In this paper, we consider 2-stack
visibly pushdown automata (i.e., visibly pushdown automata with two stacks) in
their unrestricted form. We show that they are expressively equivalent to the
existential fragment of monadic second-order logic. Furthermore, it turns out
that monadic second-order quantifier alternation forms an infinite hierarchy
wrt words with multiple nestings. Combining these results, we conclude that
2-stack visibly pushdown automata are not closed under complementation.
Finally, we discuss the expressive power of B\"{u}chi 2-stack visibly pushdown
automata running on infinite (nested) words. Extending the logic by an infinity
quantifier, we can likewise establish equivalence to existential monadic
second-order logic
Complexity of Liveness in Parameterized Systems
We investigate the fine-grained complexity of liveness verification for leader contributor systems. These consist of a designated leader thread and an arbitrary number of identical contributor threads communicating via a shared memory. The liveness verification problem asks whether there is an infinite computation of the system in which the leader reaches a final state infinitely often. Like its reachability counterpart, the problem is known to be NP-complete. Our results show that, even from a fine-grained point of view, the complexities differ only by a polynomial factor.
Liveness verification decomposes into reachability and cycle detection. We present a fixed point iteration solving the latter in polynomial time. For reachability, we reconsider the two standard parameterizations. When parameterized by the number of states of the leader L and the size of the data domain D, we show an (L + D)^O(L + D)-time algorithm. It improves on a previous algorithm, thereby settling an open problem. When parameterized by the number of states of the contributor C, we reuse an O^*(2^C)-time algorithm. We show how to connect both algorithms with the cycle detection to obtain algorithms for liveness verification. The running times of the composed algorithms match those of reachability, proving that the fine-grained lower bounds for liveness verification are met
2008 Abstracts Collection -- IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science
This volume contains the proceedings of the 28th international conference on the Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2008), organized under the auspices of the Indian Association for Research in Computing Science (IARCS)
Decidable Models of Recursive Asynchronous Concurrency
Asynchronously communicating pushdown systems (ACPS) that satisfy the
empty-stack constraint (a pushdown process may receive only when its stack is
empty) are a popular decidable model for recursive programs with asynchronous
atomic procedure calls. We study a relaxation of the empty-stack constraint for
ACPS that permits concurrency and communication actions at any stack height,
called the shaped stack constraint, thus enabling a larger class of concurrent
programs to be modelled. We establish a close connection between ACPS with
shaped stacks and a novel extension of Petri nets: Nets with Nested Coloured
Tokens (NNCTs). Tokens in NNCTs are of two types: simple and complex. Complex
tokens carry an arbitrary number of coloured tokens. The rules of NNCT can
synchronise complex and simple tokens, inject coloured tokens into a complex
token, and eject all tokens of a specified set of colours to predefined places.
We show that the coverability problem for NNCTs is Tower-complete. To our
knowledge, NNCT is the first extension of Petri nets, in the class of nets with
an infinite set of token types, that has primitive recursive coverability. This
result implies Tower-completeness of coverability for ACPS with shaped stacks
Measuring Communication in Parallel Communicating Finite Automata
Systems of deterministic finite automata communicating by sending their
states upon request are investigated, when the amount of communication is
restricted. The computational power and decidability properties are studied for
the case of returning centralized systems, when the number of necessary
communications during the computations of the system is bounded by a function
depending on the length of the input. It is proved that an infinite hierarchy
of language families exists, depending on the number of messages sent during
their most economical recognitions. Moreover, several properties are shown to
be not semi-decidable for the systems under consideration.Comment: In Proceedings AFL 2014, arXiv:1405.527
Algorithmic Verification of Asynchronous Programs
Asynchronous programming is a ubiquitous systems programming idiom to manage
concurrent interactions with the environment. In this style, instead of waiting
for time-consuming operations to complete, the programmer makes a non-blocking
call to the operation and posts a callback task to a task buffer that is
executed later when the time-consuming operation completes. A co-operative
scheduler mediates the interaction by picking and executing callback tasks from
the task buffer to completion (and these callbacks can post further callbacks
to be executed later). Writing correct asynchronous programs is hard because
the use of callbacks, while efficient, obscures program control flow.
We provide a formal model underlying asynchronous programs and study
verification problems for this model. We show that the safety verification
problem for finite-data asynchronous programs is expspace-complete. We show
that liveness verification for finite-data asynchronous programs is decidable
and polynomial-time equivalent to Petri Net reachability. Decidability is not
obvious, since even if the data is finite-state, asynchronous programs
constitute infinite-state transition systems: both the program stack and the
task buffer of pending asynchronous calls can be potentially unbounded.
Our main technical construction is a polynomial-time semantics-preserving
reduction from asynchronous programs to Petri Nets and conversely. The
reduction allows the use of algorithmic techniques on Petri Nets to the
verification of asynchronous programs.
We also study several extensions to the basic models of asynchronous programs
that are inspired by additional capabilities provided by implementations of
asynchronous libraries, and classify the decidability and undecidability of
verification questions on these extensions.Comment: 46 pages, 9 figure
Underapproximation of Procedure Summaries for Integer Programs
We show how to underapproximate the procedure summaries of recursive programs
over the integers using off-the-shelf analyzers for non-recursive programs. The
novelty of our approach is that the non-recursive program we compute may
capture unboundedly many behaviors of the original recursive program for which
stack usage cannot be bounded. Moreover, we identify a class of recursive
programs on which our method terminates and returns the precise summary
relations without underapproximation. Doing so, we generalize a similar result
for non-recursive programs to the recursive case. Finally, we present
experimental results of an implementation of our method applied on a number of
examples.Comment: 35 pages, 3 figures (this report supersedes the STTT version which in
turn supersedes the TACAS'13 version
- …