6,032 research outputs found
The Tree Width of Separation Logic with Recursive Definitions
Separation Logic is a widely used formalism for describing dynamically
allocated linked data structures, such as lists, trees, etc. The decidability
status of various fragments of the logic constitutes a long standing open
problem. Current results report on techniques to decide satisfiability and
validity of entailments for Separation Logic(s) over lists (possibly with
data). In this paper we establish a more general decidability result. We prove
that any Separation Logic formula using rather general recursively defined
predicates is decidable for satisfiability, and moreover, entailments between
such formulae are decidable for validity. These predicates are general enough
to define (doubly-) linked lists, trees, and structures more general than
trees, such as trees whose leaves are chained in a list. The decidability
proofs are by reduction to decidability of Monadic Second Order Logic on graphs
with bounded tree width.Comment: 30 pages, 2 figure
On Automated Lemma Generation for Separation Logic with Inductive Definitions
Separation Logic with inductive definitions is a well-known approach for
deductive verification of programs that manipulate dynamic data structures.
Deciding verification conditions in this context is usually based on
user-provided lemmas relating the inductive definitions. We propose a novel
approach for generating these lemmas automatically which is based on simple
syntactic criteria and deterministic strategies for applying them. Our approach
focuses on iterative programs, although it can be applied to recursive programs
as well, and specifications that describe not only the shape of the data
structures, but also their content or their size. Empirically, we find that our
approach is powerful enough to deal with sophisticated benchmarks, e.g.,
iterative procedures for searching, inserting, or deleting elements in sorted
lists, binary search tress, red-black trees, and AVL trees, in a very efficient
way
Deciding Entailments in Inductive Separation Logic with Tree Automata
Separation Logic (SL) with inductive definitions is a natural formalism for
specifying complex recursive data structures, used in compositional
verification of programs manipulating such structures. The key ingredient of
any automated verification procedure based on SL is the decidability of the
entailment problem. In this work, we reduce the entailment problem for a
non-trivial subset of SL describing trees (and beyond) to the language
inclusion of tree automata (TA). Our reduction provides tight complexity bounds
for the problem and shows that entailment in our fragment is EXPTIME-complete.
For practical purposes, we leverage from recent advances in automata theory,
such as inclusion checking for non-deterministic TA avoiding explicit
determinization. We implemented our method and present promising preliminary
experimental results
Fixed-parameter tractable canonization and isomorphism test for graphs of bounded treewidth
We give a fixed-parameter tractable algorithm that, given a parameter and
two graphs , either concludes that one of these graphs has treewidth
at least , or determines whether and are isomorphic. The running
time of the algorithm on an -vertex graph is ,
and this is the first fixed-parameter algorithm for Graph Isomorphism
parameterized by treewidth.
Our algorithm in fact solves the more general canonization problem. We namely
design a procedure working in time that, for a
given graph on vertices, either concludes that the treewidth of is
at least , or: * finds in an isomorphic-invariant way a graph
that is isomorphic to ; * finds an isomorphism-invariant
construction term --- an algebraic expression that encodes together with a
tree decomposition of of width .
Hence, the isomorphism test reduces to verifying whether the computed
isomorphic copies or the construction terms for and are equal.Comment: Full version of a paper presented at FOCS 201
A Logic of Reachable Patterns in Linked Data-Structures
We define a new decidable logic for expressing and checking invariants of
programs that manipulate dynamically-allocated objects via pointers and
destructive pointer updates. The main feature of this logic is the ability to
limit the neighborhood of a node that is reachable via a regular expression
from a designated node. The logic is closed under boolean operations
(entailment, negation) and has a finite model property. The key technical
result is the proof of decidability. We show how to express precondition,
postconditions, and loop invariants for some interesting programs. It is also
possible to express properties such as disjointness of data-structures, and
low-level heap mutations. Moreover, our logic can express properties of
arbitrary data-structures and of an arbitrary number of pointer fields. The
latter provides a way to naturally specify postconditions that relate the
fields on entry to a procedure to the fields on exit. Therefore, it is possible
to use the logic to automatically prove partial correctness of programs
performing low-level heap mutations
Bidimensionality and EPTAS
Bidimensionality theory is a powerful framework for the development of
metaalgorithmic techniques. It was introduced by Demaine et al. as a tool to
obtain sub-exponential time parameterized algorithms for problems on H-minor
free graphs. Demaine and Hajiaghayi extended the theory to obtain PTASs for
bidimensional problems, and subsequently improved these results to EPTASs.
Fomin et. al related the theory to the existence of linear kernels for
parameterized problems. In this paper we revisit bidimensionality theory from
the perspective of approximation algorithms and redesign the framework for
obtaining EPTASs to be more powerful, easier to apply and easier to understand.
Two of the most widely used approaches to obtain PTASs on planar graphs are
the Lipton-Tarjan separator based approach, and Baker's approach. Demaine and
Hajiaghayi strengthened both approaches using bidimensionality and obtained
EPTASs for a multitude of problems. We unify the two strenghtened approaches to
combine the best of both worlds. At the heart of our framework is a
decomposition lemma which states that for "most" bidimensional problems, there
is a polynomial time algorithm which given an H-minor-free graph G as input and
an e > 0 outputs a vertex set X of size e * OPT such that the treewidth of G n
X is f(e). Here, OPT is the objective function value of the problem in question
and f is a function depending only on e. This allows us to obtain EPTASs on
(apex)-minor-free graphs for all problems covered by the previous framework, as
well as for a wide range of packing problems, partial covering problems and
problems that are neither closed under taking minors, nor contractions. To the
best of our knowledge for many of these problems including cycle packing,
vertex-h-packing, maximum leaf spanning tree, and partial r-dominating set no
EPTASs on planar graphs were previously known
- …