A Calculus for Modular Loop Acceleration and Non-Termination Proofs

11/27/2021
by   Florian Frohn, et al.
0

Loop acceleration can be used to prove safety, reachability, runtime bounds, and (non-)termination of programs operating on integers. To this end, a variety of acceleration techniques has been proposed. However, all of them are monolithic: Either they accelerate a loop successfully, or they fail completely. 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/06/2020

A Calculus for Modular Loop Acceleration

Loop acceleration can be used to prove safety, reachability, runtime bou...
research
05/27/2019

Proving Non-Termination via Loop Acceleration

We present the first approach to prove non-termination of integer progra...
research
07/19/2023

Proving Non-Termination by Acceleration Driven Clause Learning (Short WST Version)

We recently proposed Acceleration Driven Clause Learning (ADCL), a novel...
research
04/20/2023

Proving Non-Termination by Acceleration Driven Clause Learning

We recently proposed Acceleration Driven Clause Learning (ADCL), a novel...
research
03/03/2023

ADCL: Acceleration Driven Clause Learning for Constrained Horn Clauses

Constrained Horn Clauses (CHCs) are often used in automated program veri...
research
02/12/2023

SCL(FOL) Revisited

This paper presents an up-to-date and refined version of the SCL calculu...
research
02/09/2022

Proving Non-Termination and Lower Runtime Bounds with LoAT (System Description)

We present the new version of the Loop Acceleration Tool (LoAT), a power...

Please sign up or login with your details

Forgot password? Click here to reset