859 research outputs found
Termination analysis of programs with complex control-flow
Tesis de la Universidad Complutense de Madrid, Facultad de Informática, leÃda el 22-01-2021El problema de la terminación de un programa es fundamental en la informática y ha sido objeto de estudio de numerosas investigaciones. La técnica mejor conocida, y más frecuentemente utilizada, para demostrar terminación es la del uso de funciones de clasificación (ranking functions). Estas funciones relacionan los estados del programa con los elementos de un conjunto ordenado bien-fundado, tal que el valor desciende en estado consecutivos del programa. Como descender en un conjunto ordenado bien-fundado no se puede hacer de manera infinita se demuestra la terminación del programa. Es esta tesis, abordamos el problema de terminación para Sistemas de Transiciones (Transition Systems) con valores numéricos, que son una representación de programas muy comúnmente utilizada en los análisis de programas. Los Sistemas de Transiciones están definidos por Grafos de Control de Flujo (Control-Flow Graph) donde las aristas están anotadas con fórmulas describiendo las transiciones que hay entre los nodos correspondientes...The problem of the program termination is fundamental in Computer Science and has been the subject of voluminous research. The best known, and often used technique for proving termination is that of ranking functions. These are functions that map the program states to the elements of a well-founded ordered set, such that the value descends on consecutive program states. Since descent in a well-founded set cannot be infinite, this proves terminatio. In this thesis, we address the termination problem for Transition Systems with numerical variables, which is a very common program representation that is often used in program analysis. They are defined by Control-Flow Graphs where edges are annotated with formulas describing transitions between corresponding nodes...Fac. de InformáticaTRUEunpu
Proving Non-Termination via Loop Acceleration
We present the first approach to prove non-termination of integer programs
that is based on loop acceleration. If our technique cannot show
non-termination of a loop, it tries to accelerate it instead in order to find
paths to other non-terminating loops automatically. The prerequisites for our
novel loop acceleration technique generalize a simple yet effective
non-termination criterion. Thus, we can use the same program transformations to
facilitate both non-termination proving and loop acceleration. In particular,
we present a novel invariant inference technique that is tailored to our
approach. An extensive evaluation of our fully automated tool LoAT shows that
it is competitive with the state of the art
What's Decidable about Discrete Linear Dynamical Systems?
We survey the state of the art on the algorithmic analysis of discrete linear dynamical systems, and outline a number of research directions
A Calculus for Modular Loop Acceleration and Non-Termination Proofs
Loop acceleration can be used to prove safety, reachability, runtime bounds,
and (non-)termination of programs. To this end, a variety of acceleration
techniques has been proposed. However, so far all of them have been monolithic,
i.e., a single loop could not be accelerated using a combination of several
different acceleration techniques. In contrast, we present a calculus that
allows for combining acceleration techniques in a modular way and we show how
to integrate many existing acceleration techniques into our calculus. Moreover,
we propose two novel acceleration techniques that can be incorporated into our
calculus seamlessly. Some of these acceleration techniques apply only to
non-terminating loops. Thus, combining them with our novel calculus results in
a new, modular approach for proving non-termination. An empirical evaluation
demonstrates the applicability of our approach, both for loop acceleration and
for proving non-termination.Comment: arXiv admin note: substantial text overlap with arXiv:2001.0151
On Ranking Function Synthesis and Termination for Polynomial Programs
We consider the problem of synthesising polynomial ranking functions for single-path loops over the reals with continuous semi-algebraic update function and compact semi-algebraic guard set. We show that a loop of this form has a polynomial ranking function if and only if it terminates. We further show that termination is decidable for such loops in the special case where the update function is affine
What's Decidable about Discrete Linear Dynamical Systems?
We survey the state of the art on the algorithmic analysis of discrete linear
dynamical systems, focussing in particular on reachability, model-checking, and
invariant-generation questions, both unconditionally as well as relative to
oracles for the Skolem Problem
Proving Non-Termination via Loop Acceleration
We present the first approach to prove non-termination of integer programs that is based on loop acceleration. If our technique cannot show non-termination of a loop, it tries to accelerate it instead in order to find paths to other non-terminating loops automatically. The prerequisites for our novel loop acceleration technique generalize a simple yet effective non-termination criterion. Thus, we can use the same program transformations to facilitate both non-termination proving and loop acceleration. In particular, we present a novel invariant inference technique that is tailored to our approach. An extensive evaluation of our fully automated tool LoAT shows that it is competitive with the state of the art
Termination of linear loops under commutative updates
We consider the following problem: given rational matrices and a polyhedral cone , decide
whether there exists a non-zero vector whose orbit under multiplication by
is contained in . This problem can be
interpreted as verifying the termination of multi-path while loops with linear
updates and linear guard conditions. We show that this problem is decidable for
commuting invertible matrices . The key to our decision
procedure is to reinterpret this problem in a purely algebraic manner. Namely,
we discover its connection with modules over the polynomial ring
as well as the polynomial semiring
. The loop termination problem is then
reduced to deciding whether a submodule of contains a ``positive'' element.Comment: 6 page
- …