#### Filter Results:

- Full text PDF available (8)

#### Publication Year

1988

2017

- This year (1)
- Last 5 years (10)
- Last 10 years (10)

#### Publication Type

#### Co-author

#### Journals and Conferences

#### Key Phrases

Learn More

AProVE is a system for automatic termination and complexity proofs of C, Java, Haskell, Prolog, and term rewrite systems. The particular strength of AProVE when analyzing C is its capability to reason about pointer arithmetic combined with direct memory accesses (as, e.g., in standard implementations of string algorithms). As a prerequisite for termination,… (More)

We present the first approach to deduce lower bounds for innermost runtime complexity of term rewrite systems (TRSs) automatically. Inferring lower runtime bounds is useful to detect bugs and to complement existing techniques that compute upper complexity bounds. The key idea of our approach is to generate suitable families of rewrite sequences of a TRS and… (More)

- Jürgen Giesl, Cornelius Aschermann, +10 authors René Thiemann
- Journal of Automated Reasoning
- 2016

In this system description, we present the tool AProVE for automatic termination and complexity proofs of Java, C, Haskell, Prolog, and rewrite systems. In addition to classical term rewrite systems (TRSs), AProVE also supports rewrite systems containing built-in integers (int-TRSs). To analyze programs in high-level languages, AProVE automatically converts… (More)

- Thomas Ströder, Jürgen Giesl, +4 authors Peter Schneider-Kamp
- 2014

Proving termination automatically for programs with explicit pointer arithmetic is still an open problem. To close this gap, we introduce a novel abstract domain that can track allocated memory in detail. We use it to automatically construct a symbolic execution graph that represents all possible runs of the program and that can be used to prove memory… (More)

- Florian Frohn, Matthias Naaf, Jera Hensel, Marc Brockschmidt, Jürgen Giesl
- IJCAR
- 2016

We present a technique to infer lower bounds on the worstcase runtime complexity of integer programs. To this end, we construct 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… (More)

- Thomas Ströder, Jürgen Giesl, +4 authors Peter Schneider-Kamp
- IJCAR
- 2014

Proving termination automatically for programs with explicit pointer arithmetic is still an open problem. To close this gap, we introduce a novel abstract domain that can track allocated memory in detail. We use it to automatically construct a symbolic execution graph that represents all possible runs of the program and that can be used to prove memory… (More)

- Thomas Ströder, Jürgen Giesl, +5 authors Cornelius Aschermann
- Journal of Automated Reasoning
- 2016

While automated verification of imperative programs has been studied intensively, proving termination of programs with explicit pointer arithmetic fully automatically was still an open problem. To close this gap, we introduce a novel abstract domain that can track allocated memory in detail. We use it to automatically construct a symbolic execution graph… (More)

- Florian Frohn, Jürgen Giesl, Jera Hensel, Cornelius Aschermann, Thomas Ströder
- Journal of Automated Reasoning
- 2016

We present the first approach to deduce lower bounds for (worst-case) runtime complexity of term rewrite systems (TRSs) automatically. Inferring lower runtime bounds is useful to detect bugs and to complement existing methods that compute upper complexity bounds. Our approach is based on two techniques: the induction technique generates suitable families of… (More)

- Jera Hensel, Jürgen Giesl, Florian Frohn, Thomas Ströder
- SEFM
- 2016

In earlier work, we developed an approach for automated termination analysis of C programs with explicit pointer arithmetic, which is based on symbolic execution. However, similar to many other termination techniques, this approach assumed the program variables to range over mathematical integers instead of bitvectors. This eases mathematical reasoning but… (More)

- Jera Hensel, Frank Emrich, Florian Frohn, Thomas Ströder, Jürgen Giesl
- TACAS
- 2017