Inferring Lower Runtime Bounds for Integer Programs

11/04/2019
by   Florian Frohn, et al.
0

We present a technique to infer lower bounds on the worst-case runtime complexity of integer programs, where in contrast to earlier work, our approach is not restricted to tail-recursion. Our technique constructs symbolic representations of program executions using a framework for iterative, under-approximating program simplification. The core of this simplification is a method for (under-approximating) program acceleration based on recurrence solving and a variation of ranking functions. Afterwards, we deduce asymptotic lower bounds from the resulting simplified programs using a special-purpose calculus and an SMT encoding. We implemented our technique in our tool LoAT and show that it infers non-trivial lower bounds for a large class of examples.

READ FULL TEXT

page 1

page 2

page 3

page 4

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...
research
02/03/2022

Improving Automatic Complexity Analysis of Integer Programs

In earlier work, we developed an approach for automatic complexity analy...
research
12/11/2020

Runtime Complexity Analysis of Logically Constrained Rewriting

Logically constrained rewrite systems (LCTRSs) are a versatile and effic...
research
10/13/2020

Inferring Expected Runtimes of Probabilistic Integer Programs Using Expected Sizes

We present a novel modular approach to infer upper bounds on the expecte...
research
07/13/2023

Targeting Completeness: Using Closed Forms for Size Bounds of Integer Programs

We present a new procedure to infer size bounds for integer programs aut...
research
02/13/2023

Lower Bounds for Possibly Divergent Probabilistic Programs

We present a new proof rule for verifying lower bounds on quantities of ...
research
05/15/2021

Pebbles, Graphs, and a Pinch of Combinatorics: Towards Tight I/O Lower Bounds for Statically Analyzable Programs

Determining I/O lower bounds is a crucial step in obtaining communicatio...

Please sign up or login with your details

Forgot password? Click here to reset