VLDB 2026 Research / reviewers in the wild / expert
Jürgen Giesl
dblp:g/JurgenGiesl
· DBLP profile ↗
109ranked-venue papers
31as first author
28since 2021 · last 2026
0000-0003-0283-8520ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 69 · 18 first-author · 19 since 2021Software engineering, systems software and programming languages · 45 · 6 first-author · 17 since 2021Artificial intelligence and machine learning · 39 · 16 first-author · 10 since 2021Databases, data management, data science and information retrieval · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | KoAT: Automatic Complexity and Termination Analysis of Integer ProgramsabstractAbstract is a tool to automatically infer complexity bounds and prove termination of (possibly recursive) integer programs. To this end, implements an alternating modular inference of upper runtime and size bounds for program parts. In particular, uses a portfolio of different techniques to analyze subprograms. The power of our approach is demonstrated by an extensive experimental evaluation. Nils Lommen, Éléanore Meyer, Jürgen Giesl |
CAV (3) | 3 |
| 2026 | Modular Automatic Complexity Analysis of Recursive Integer Programs
Nils Lommen, Jürgen Giesl |
ESOP (2) | 2 |
| 2026 | Accelerating Loops with ArraysabstractAbstract We propose a novel acceleration technique for loops operating on arrays. The goal of acceleration is to characterize the transitive closure of loops in a logic which is suitable for automated reasoning. Using the new notion of inductive lvalues , our technique can handle loops where previous techniques fail, and it unifies acceleration for arrays and scalar variables by regarding scalars as arrays of dimension 0. Moreover, our approach uses $$\lambda $$ λ s instead of quantifiers. Then the resulting SMT problems can be solved via lemmas on demand . An empirical evaluation of our implementation in the tool shows the power of our approach. Florian Frohn, Jürgen Giesl |
IJCAR (1) | 2 |
| 2026 | Disproving (Positive) Almost-Sure Termination of Probabilistic Term Rewriting via Random WalksabstractAbstract While numerous techniques have been developed to automatically prove termination of probabilistic programs, there are only few automated methods to disprove their termination. In this paper, we present the first techniques to automatically disprove (positive) almost-sure termination of probabilistic term rewriting. Disproving termination of non-probabilistic systems requires finding a finite representation of an infinite computation, e.g., a loop of the rewrite system. We extend such qualitative techniques to probabilistic term rewriting, where a quantitative analysis is required. In addition to the existence of a loop, we have to count the number of such loops in order to embed suitable random walks into a computation, thereby disproving termination. To evaluate their power, we implemented all our techniques in the tool . Jan-Christoph Kassing, Henri Nagel, Alexander Schlecht, Jürgen Giesl |
IJCAR (2) | 4 |
| 2026 | On Deciding Constant Runtime of Linear Loops
Florian Frohn, Jürgen Giesl, Peter Giesl, Nils Lommen |
TACAS (2) | 2 |
| 2026 | Targeting Completeness: Automated Complexity Analysis of Integer ProgramsabstractAbstract There exist several approaches to infer runtime or resource bounds for integer programs automatically. In this paper, we study the subclass of periodic rational solvable loops (prs-loops) , where questions regarding the runtime and the size of variable values are decidable and where we can therefore obtain techniques that are “complete” for such subclasses. We show how to use these results for the complexity analysis of arbitrary general integer programs. To this end, we present a modular approach which computes local runtime and size bounds for subprograms which correspond to prs -loops. These local bounds are then lifted to global runtime and size bounds for the whole integer program. Furthermore, we introduce several techniques to transform larger programs into prs -loops to increase the scope of the approach. The power of the procedure is shown by our implementation in the complexity analysis tool . Nils Lommen, Éléanore Meyer, Jürgen Giesl |
J. Autom. Reason. | 3 |
| 2026 | Accelerated bounded model checking with LoATabstractLoAT is a fully automated verification tool that can prove (un)satisfiability of linear Constrained Horn Clauses, as well as non-termination and lower bounds on the worst-case runtime complexity of transition systems. Recently, we introduced Accelerated Bounded Model Checking (ABMC), a novel model checking technique that combines acceleration techniques with Bounded Model Checking (BMC), and implemented it in LoAT . Acceleration techniques compute “shortcuts” that “compress” many execution steps into a single one, and thus ABMC is capable of finding deep counterexamples that are challenging for BMC, as finding them with BMC requires a large bound. Florian Frohn, Jürgen Giesl |
Sci. Comput. Program. | 2 |
| 2026 | The annotated dependency pair framework for almost-sure termination of probabilistic term rewriting
Jan-Christoph Kassing, Jürgen Giesl |
Sci. Comput. Program. | 2 |
| 2025 | Infinite State Model Checking by Learning Transitive RelationsabstractAbstract We propose a new approach for proving safety of infinite state systems. It extends the analyzed system by transitive relations until its diameter D becomes finite, i.e., until constantly many steps suffice to cover all reachable states, irrespective of the initial state. Then we can prove safety by checking that no error state is reachable in D steps. To deduce transitive relations, we use recurrence analysis . While recurrence analyses can usually find conjunctive relations only, our approach also discovers disjunctive relations by combining recurrence analysis with projections . An empirical evaluation of the implementation of our approach in our tool shows that it is highly competitive with the state of the art. Florian Frohn, Jürgen Giesl |
CADE | 2 |
| 2025 | Weighted Rewriting: Semiring Semantics for Abstract Reduction Systems
Emma Ahrens, Jan-Christoph Kassing, Jürgen Giesl, Joost-Pieter Katoen |
FSCD | 3 |
| 2025 | Deciding Termination of Simple Randomized LoopsabstractWe show that universal positive almost sure termination (UPAST) is decidable for a class of simple randomized programs, i.e., it is decidable whether the expected runtime of such a program is finite for all inputs. Our class contains all programs that consist of a single loop, with a linear loop guard and a loop body composed of two linear commuting and diagonalizable updates. In each iteration of the loop, the update to be carried out is picked at random, according to a fixed probability. We show the decidability of UPAST for this class of programs, where the program’s variables and inputs may range over various sub-semirings of the real numbers. In this way, we extend a line of research initiated by Tiwari in 2004 into the realm of randomized programs. Éléanore Meyer, Jürgen Giesl |
MFCS | 2 |
| 2025 | Dependency Pairs for Expected Innermost Runtime Complexity and Strong Almost-Sure Termination of Probabilistic Term RewritingabstractThe dependency pair (DP) framework is one of the most powerful techniques for automatic termination and complexity analysis of term rewrite systems. While DPs were extended to prove almost-sure termination of probabilistic term rewrite systems (PTRSs), automatic complexity analysis for PTRSs is largely unexplored. Weintroduce the first DP framework for analyzing expected complexity and for proving positive or strong almost-sure termination (\(\operatorname{\texttt{SAST}}\))of innermost rewriting with PTRSs, i.e., finite expected runtime. We implemented our framework in the tool AProVE and demonstrate its power compared to existing techniques for proving \(\operatorname{\texttt{SAST}}\). Jan-Christoph Kassing, Leon Valentin Spitzer, Jürgen Giesl |
PPDP | 3 |
| 2025 | AProVE(KoAT+LoAT) - (Competition Contribution)abstractAbstract To (dis)prove termination of programs, uses symbolic execution to transform the program’s code into an integer transition system (ITS). These ITSs are analyzed by our backend tools (for termination) and (for non-termination) which we integrated into our novel framework to replace previously used external backend tools. In this way, we benefit from the recent improvements in the backend tools and . The transformation steps in and the tools in the backend produce sub-proofs which are then combined automatically in order to generate a complete termination proof. If non-termination is proved, then a witness for a non-terminating path in the original program is returned. Nils Lommen, Jürgen Giesl |
TACAS (3) | 2 |
| 2025 | Termination of triangular polynomial loopsabstractAbstract We consider the problem of proving termination for triangular weakly non-linear loops (twn-loops) over some ring $$\mathcal {S}$$ S like $$\mathbb {Z}$$ Z , $$\mathbb {Q}$$ Q , or $$\mathbb {R}$$ R . The guard of such a loop is an arbitrary quantifier-free Boolean formula over (possibly non-linear) polynomial inequations, and the body is a single assignment of the form $$\begin{bmatrix} x_1\\ \ldots \\ x_d \end{bmatrix} \leftarrow \begin{bmatrix} c_1 \cdot x_1 + p_1\\ \ldots \\ c_d \cdot x_d + p_d \end{bmatrix}$$ x 1 … x d ← c 1 · x 1 + p 1 … c d · x d + p d where each $$x_i$$ x i is a variable, $$c_i \in \mathcal {S}$$ c i ∈ S , and each $$p_i$$ p i is a (possibly non-linear) polynomial over $$\mathcal {S}$$ S and the variables $$x_{i+1},\ldots ,x_{d}$$ x i + 1 , … , x d . We show that the question of termination can be reduced to the existential fragment of the first-order theory of $$\mathcal {S}$$ S . For loops over $$\mathbb {R}$$ R , our reduction implies decidability of termination. For loops over $$\mathbb {Z}$$ Z and Marcel Hark, Florian Frohn, Jürgen Giesl |
Formal Methods Syst. Des. | 3 |
| 2025 | Small Term Reachability and Related Problems for Terminating Term Rewriting SystemsabstractMotivated by an application where we try to make proofs for Description Logic inferences smaller by rewriting, we consider the following decision problem, which we call the small term reachability problem: given a term rewriting system $R$, a term $s$, and a natural number $n$, decide whether there is a term $t$ of size $\leq n$ reachable from $s$ using the rules of $R$. We investigate the complexity of this problem depending on how termination of $R$ can be established. We show that the problem is in general NP-complete for length-reducing term rewriting systems. Its complexity increases to N2ExpTime-complete (NExpTime-complete) if termination is proved using a (linear) polynomial order and to PSpace-complete for systems whose termination can be shown using a restricted class of Knuth-Bendix orders. Confluence reduces the complexity to P for the length-reducing case, but has no effect on the worst-case complexity in the other two cases. Finally, we consider the large term reachability problem, a variant of the problem where we are interested in reachability of a term of size $\geq n$. It turns out that this seemingly innocuous modification in some cases changes the complexity of the problem, which may also become dependent on whether the number $n$ is is represented in unary or binary encoding, whereas this makes no difference for the complexity of the small term reachability problem. Franz Baader, Jürgen Giesl |
Log. Methods Comput. Sci. | 2 |
| 2025 | From Innermost to Full Probabilistic Term Rewriting: Almost-Sure Termination, Complexity, and Modularity
Jan-Christoph Kassing, Jürgen Giesl |
Log. Methods Comput. Sci. | 2 |
| 2024 | Integrating Loop Acceleration Into Bounded Model CheckingabstractAbstract Bounded Model Checking (BMC) is a powerful technique for proving unsafety. However, finding deep counterexamples that require a large bound is challenging for BMC. On the other hand, acceleration techniques compute “shortcuts” that “compress” many execution steps into a single one. In this paper, we tightly integrate acceleration techniques into SMT-based bounded model checking. By adding suitable “shortcuts” on the fly, our approach can quickly detect deep counterexamples. Moreover, using so-called blocking clauses , our approach can prove safety of examples where BMC diverges. An empirical comparison with other state-of-the-art techniques shows that our approach is highly competitive for proving unsafety, and orthogonal to existing techniques for proving safety. Florian Frohn, Jürgen Giesl |
FM (1) | 2 |
| 2024 | From Innermost to Full Almost-Sure Termination of Probabilistic Term RewritingabstractAbstract There are many evaluation strategies for term rewrite systems, but proving termination automatically is usually easiest for innermost rewriting. Several syntactic criteria exist when innermost termination implies full termination. We adapt these criteria to the probabilistic setting, e.g., we show when it suffices to analyze almost-sure termination (AST) w.r.t. innermost rewriting to prove full AST of probabilistic term rewrite systems. These criteria also apply to other notions of termination like positive AST. We implemented and evaluated our new contributions in the tool . Jan-Christoph Kassing, Florian Frohn, Jürgen Giesl |
FoSSaCS (2) | 3 |
| 2024 | On the Complexity of the Small Term Reachability Problem for Terminating Term Rewriting Systems
Franz Baader, Jürgen Giesl |
FSCD | 2 |
| 2024 | Satisfiability Modulo Exponential Integer ArithmeticabstractAbstract SMT solvers use sophisticated techniques for polynomial (linear or non-linear) integer arithmetic. In contrast, non-polynomial integer arithmetic has mostly been neglected so far. However, in the context of program verification, polynomials are often insufficient to capture the behavior of the analyzed system without resorting to approximations. In the last years, incremental linearization has been applied successfully to satisfiability modulo real arithmetic with transcendental functions. We adapt this approach to an extension of polynomial integer arithmetic with exponential functions. Here, the key challenge is to compute suitable lemmas that eliminate the current model from the search space if it violates the semantics of exponentiation. An empirical evaluation of our implementation shows that our approach is highly effective in practice. Florian Frohn, Jürgen Giesl |
IJCAR (1) | 2 |
| 2024 | A Dependency Pair Framework for Relative Termination of Term RewritingabstractAbstract Dependency pairs are one of the most powerful techniques for proving termination of term rewrite systems (TRSs), and they are used in almost all tools for termination analysis of TRSs. Problem #106 of the RTA List of Open Problems asks for an adaption of dependency pairs for relative termination. Here, infinite rewrite sequences are allowed, but one wants to prove that a certain subset of the rewrite rules cannot be used infinitely often. Dependency pairs were recently adapted to annotated dependency pairs (ADPs) to prove almost-sure termination of probabilistic TRSs. In this paper, we develop a novel adaption of ADPs for relative termination. We implemented our new ADP framework in our tool and evaluate it in comparison to state-of-the-art tools for relative termination of TRSs. Jan-Christoph Kassing, Grigory Vartanyan, Jürgen Giesl |
IJCAR (2) | 3 |
| 2024 | Control-Flow Refinement for Complexity Analysis of Probabilistic Programs in KoAT (Short Paper) - (Short Paper)abstractAbstract Recently, we showed how to use control-flow refinement (CFR) to improve automatic complexity analysis of integer programs. While up to now CFR was limited to classical programs, in this paper we extend CFR to probabilistic programs and show its soundness for complexity analysis. To demonstrate its benefits, we implemented our new CFR technique in our complexity analysis tool . Nils Lommen, Éléanore Meyer, Jürgen Giesl |
IJCAR (1) | 3 |
| 2023 | Proving Non-Termination by Acceleration Driven Clause Learning (Short Paper)abstractAbstract We recently proposed Acceleration Driven Clause Learning (ADCL), a novel calculus to analyze satisfiability of Constrained Horn Clauses (CHCs). Here, we adapt ADCL to transition systems and introduce ADCL-NT, a variant for disproving termination. We implemented ADCL-NT in our tool and evaluate it against the state of the art. Florian Frohn, Jürgen Giesl |
CADE | 2 |
| 2023 | Proving Termination of C Programs with ListsabstractAbstract There are many techniques and tools to prove termination of programs, but up to now these tools were not very powerful for fully automated termination proofs of programs whose termination depends on recursive data structures like lists. We present the first approach that extends powerful techniques for termination analysis of programs (with memory allocation and explicit pointer arithmetic) to lists. Jera Hensel, Jürgen Giesl |
CADE | 2 |
| 2023 | Proving Almost-Sure Innermost Termination of Probabilistic Term Rewriting Using Dependency PairsabstractAbstract Dependency pairs are one of the most powerful techniques to analyze termination of term rewrite systems (TRSs) automatically. We adapt the dependency pair framework to the probabilistic setting in order to prove almost-sure innermost termination of probabilistic TRSs. To evaluate its power, we implemented the new framework in our tool . Jan-Christoph Kassing, Jürgen Giesl |
CADE | 2 |
| 2023 | ADCL: Acceleration Driven Clause Learning for Constrained Horn Clauses
Florian Frohn, Jürgen Giesl |
SAS | 2 |
| 2022 | AProVE: Non-Termination Witnesses for C Programs - (Competition Contribution)abstractAbstract To (dis)prove termination of programs, uses symbolic execution to transform the program’s code into an integer transition system, which is then analyzed by several backends. The transformation steps in and the tools in the backend only produce sub-proofs in their domains. Hence, we now developed new techniques to automatically combine the essence of these proofs. If non-termination is proved, then they yield an overall witness, which identifies a non-terminating path in the original program. Jera Hensel, Constantin Mensendiek, Jürgen Giesl |
TACAS (2) | 3 |
| 2021 | Inferring Expected Runtimes of Probabilistic Integer Programs Using Expected SizesabstractAbstract We present a novel modular approach to infer upper bounds on the expected runtimes of probabilistic integer programs automatically. To this end, it computes bounds on the runtimes of program parts and on the sizes of their variables in an alternating way. To evaluate its power, we implemented our approach in a new version of our open-source tool . Éléanore Meyer, Marcel Hark, Jürgen Giesl |
TACAS (1) | 3 |
| 2020 | Polynomial Loops: Beyond TerminationabstractIn the last years, several works were concerned with identifying classes of programs where termination is decidable. We consider triangular weakly non-linear loops (twn-loops) over a ring Z ≤ S ≤ R_A , where R_A is the set of all real algebraic numbers. Essentially, the body of such a loop is a single assignment (x_1, ..., x_d) ← (c_1 · x_1 + pol_1, ..., c_d · x_d + pol_d) where each x_i is a variable, c_i ∈ S, and each pol_i is a (possibly non-linear) polynomial over S and the variables x_{i+1}, ..., x_d. Recently, we showed that termination of such loops is decidable for S = R_A and non-termination is semi-decidable for S = Z and S = Q. In this paper, we show that the halting problem is decidable for twn-loops over any ring Z ≤ S ≤ R_A. In contrast to the termination problem, where termination on all inputs is considered, the halting problem is concerned with termination on a given input. This allows us to compute witnesses for non-termination. Moreover, we present the first computability results on the runtime complexity of such loops. More precisely, we show that for twn-loops over Z one can always compute a polynomial f such that the length of all terminating runs is bounded by f( || (x_1, ..., x_d) || ), where || · || denotes the 1-norm. As a corollary, we obtain that the runtime of a terminating triangular linear loop over Z is at most linear. Marcel Hark, Florian Frohn, Jürgen Giesl |
LPAR | 3 |
| 2020 | Termination of Polynomial Loops
Florian Frohn, Marcel Hark, Jürgen Giesl |
SAS | 3 |
| 2020 | Aiming low is harder: induction for lower bounds in probabilistic program verificationabstractWe present a new inductive rule for verifying lower bounds on expected values of random variables after execution of probabilistic loops as well as on their expected runtimes. Our rule issimplein the sense that loop body semantics need to be applied only finitely often in order to verify that the candidates are indeed lower bounds. In particular, it is not necessary to find the limit of a sequence as in many previous rules. Marcel Hark, Benjamin Lucien Kaminski, Jürgen Giesl, Joost-Pieter Katoen |
Proc. ACM Program. Lang. | 3 |
| 2020 | Inferring Lower Runtime Bounds for Integer ProgramsabstractWe 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. Florian Frohn, Matthias Naaf, Marc Brockschmidt, Jürgen Giesl |
ACM Trans. Program. Lang. Syst. | 4 |
| 2019 | Computing Expected Runtimes for Constant Probability Programs
Jürgen Giesl, Peter Giesl, Marcel Hark |
CADE | 1 |
| 2019 | Termination of Triangular Integer Loops is DecidableabstractWe consider the problem whether termination of affine integer loops is decidable. Since Tiwari conjectured decidability in 2004 [ 15 ], only special cases have been solved [ 3 , 4 , 14 ]. We complement this work by proving decidability for the case that the update matrix is triangular. Florian Frohn, Jürgen Giesl |
CAV (2) | 2 |
| 2019 | Proving Non-Termination via Loop AccelerationabstractThe following topics are dealt with: formal verification; program verification; computability; formal specification; program diagnostics; computational complexity; Boolean functions; protocols; theorem proving; inference mechanisms. Florian Frohn, Jürgen Giesl |
FMCAD | 2 |
| 2019 | The Termination and Complexity CompetitionabstractThe termination and complexity competition ( termCOMP ) focuses on automated termination and complexity analysis for various kinds of programming paradigms, including categories for term rewriting, integer transition systems, imperative programming, logic programming, and functional programming. In all categories, the competition also welcomes the participation of tools providing certifiable output. The goal of the competition is to demonstrate the power and advances of the state-of-the-art tools in each of these areas. Jürgen Giesl, Albert Rubio, Christian Sternagel, Johannes Waldmann, Akihisa Yamada 0002 |
TACAS (3) | 1 |
| 2018 | Constant runtime complexity of term rewriting is semi-decidable
Florian Frohn, Jürgen Giesl |
Inf. Process. Lett. | 2 |
| 2017 | Complexity Analysis for Java with AProVE
Florian Frohn, Jürgen Giesl |
IFM | 2 |
| 2017 | Analyzing Runtime Complexity via Innermost Runtime ComplexityabstractThere exist powerful techniques to infer upper bounds on the innermost runtime complexity of term rewrite systems (TRSs), i.e., on the lengths of rewrite sequences that follow an innermost evaluation strategy. However, the techniques to analyze the (full) runtime complexity of TRSs are substantially weaker. In this paper, we present a sufficient criterion to ensure that the runtime complexity of a TRS coincides with its innermost runtime complexity. This criterion can easily be checked automatically and it allows us to use all techniques and tools for innermost runtime complexity in order to analyze (full) runtime complexity. By extensive experiments with an implementation of our results in the tool AProVE, we show that this improves the state of the art of automated complexity analysis significantly. Florian Frohn, Jürgen Giesl |
LPAR | 2 |
| 2017 | AProVE: Proving and Disproving Termination of Memory-Manipulating C Programs - (Competition Contribution)
Jera Hensel, Frank Emrich, Florian Frohn, Thomas Ströder, Jürgen Giesl |
TACAS (2) | 5 |
| 2017 | Lower Bounds for Runtime Complexity of Term Rewriting
Florian Frohn, Jürgen Giesl, Jera Hensel, Cornelius Aschermann, Thomas Ströder |
J. Autom. Reason. | 2 |
| 2017 | Analyzing Program Termination and Complexity Automatically with AProVE
Jürgen Giesl, Cornelius Aschermann, Marc Brockschmidt, Fabian Emmes, Florian Frohn, Carsten Fuhs, Jera Hensel, Carsten Otto, Martin Plücker, Peter Schneider-Kamp, Thomas Ströder, Stephanie Swiderski, René Thiemann |
J. Autom. Reason. | 1 |
| 2017 | Preface: Special Issue on Automatic Resource Bound Analysis
Jürgen Giesl, Jan Hoffmann 0002 |
J. Autom. Reason. | 1 |
| 2017 | Automatically Proving Termination and Memory Safety for Programs with Pointer Arithmetic
Thomas Ströder, Jürgen Giesl, Marc Brockschmidt, Florian Frohn, Carsten Fuhs, Jera Hensel, Peter Schneider-Kamp, Cornelius Aschermann |
J. Autom. Reason. | 2 |
| 2016 | Proving Termination of Programs with Bitvector Arithmetic by Symbolic Execution
Jera Hensel, Jürgen Giesl, Florian Frohn, Thomas Ströder |
SEFM | 2 |
| 2016 | Analyzing Runtime and Size Complexity of Integer Programs
Marc Brockschmidt, Fabian Emmes, Stephan Falke 0001, Carsten Fuhs, Jürgen Giesl |
ACM Trans. Program. Lang. Syst. | 5 |
| 2015 | Termination Competition (termCOMP 2015)
Jürgen Giesl, Frédéric Mesnard, Albert Rubio, René Thiemann, Johannes Waldmann |
CADE | 1 |
| 2015 | Inferring Lower Bounds for Runtime ComplexityabstractWe 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 to find a relation between the length of such a rewrite sequence and the size of the first term in the sequence. We implemented our approach in the tool AProVE and evaluated it by extensive experiments. Florian Frohn, Jürgen Giesl, Jera Hensel, Cornelius Aschermann, Thomas Ströder |
RTA | 2 |
| 2015 | AProVE: Termination and Memory Safety of C Programs - (Competition Contribution)
Thomas Ströder, Cornelius Aschermann, Florian Frohn, Jera Hensel, Jürgen Giesl |
TACAS | 5 |
| 2014 | Alternating Runtime and Size Complexity Analysis of Integer Programs
Marc Brockschmidt, Fabian Emmes, Stephan Falke 0001, Carsten Fuhs, Jürgen Giesl |
TACAS | 5 |
| 2013 | Analyzing Innermost Runtime Complexity of Term Rewriting by Dependency Pairs
Lars Noschinski, Fabian Emmes, Jürgen Giesl |
J. Autom. Reason. | 3 |
| 2012 | Automated Termination Proofs for Java Programs with Cyclic Data
Marc Brockschmidt, Richard Musiol, Carsten Otto, Jürgen Giesl |
CAV | 4 |
| 2012 | Symbolic Evaluation Graphs and Term Rewriting - A General Methodology for Analyzing Logic Programs
Jürgen Giesl, Thomas Ströder, Peter Schneider-Kamp, Fabian Emmes, Carsten Fuhs |
LOPSTR | 1 |
| 2012 | Symbolic evaluation graphs and term rewriting: a general methodology for analyzing logic programsabstractThere exist many powerful techniques to analyze termination and complexity of term rewrite systems (TRSs). Our goal is to use these techniques for the analysis of other programming languages as well. For instance, approaches to prove termination of definite logic programs by a transformation to TRSs have been studied for decades. However, a challenge is to handle languages with more complex evaluation strategies (such as Prolog, where predicates like the cut influence the control flow). In this paper, we present a general methodology for the analysis of such programs. Here, the logic program is first transformed into a symbolic evaluation graph which represents all possible evaluations in a finite way. Afterwards, different analyses can be performed on these graphs. In particular, one can generate TRSs from such graphs and apply existing tools for termination or complexity analysis of TRSs to infer information on the termination or complexity of the original logic program. Jürgen Giesl, Thomas Ströder, Peter Schneider-Kamp, Fabian Emmes, Carsten Fuhs |
PPDP | 1 |
| 2012 | SAT Solving for Termination Proofs with Recursive Path Orders and Dependency Pairs
Michael Codish, Jürgen Giesl, Peter Schneider-Kamp, René Thiemann |
J. Autom. Reason. | 2 |
| 2011 | A Dependency Pair Framework for Innermost Complexity Analysis of Term Rewrite Systems
Lars Noschinski, Fabian Emmes, Jürgen Giesl |
CADE | 3 |
| 2011 | Termination of Isabelle Functions via Termination of Rewriting
Alexander Krauss 0001, Christian Sternagel, René Thiemann, Carsten Fuhs, Jürgen Giesl |
ITP | 5 |
| 2011 | A Linear Operational Semantics for Termination and Complexity Analysis of ISO Prolog
Thomas Ströder, Fabian Emmes, Peter Schneider-Kamp, Jürgen Giesl, Carsten Fuhs |
LOPSTR | 4 |
| 2011 | Modular Termination Proofs of Recursive Java Bytecode Programs by Term RewritingabstractIn earlier work we presented an approach to prove termination of non-recursive Java Bytecode (JBC) programs automatically. Here, JBC programs are first transformed to finite termination graphs which represent all possible runs of the program. Afterwards, the termination graphs are translated to term rewrite systems (TRSs) such that termination of the resulting TRSs implies termination of the original JBC programs. So in this way, existing techniques and tools from term rewriting can be used to prove termination of JBC automatically. In this paper, we improve this approach substantially in two ways: (1) We extend it in order to also analyze recursive JBC programs. To this end, one has to represent call stacks of arbitrary size. (2) To handle JBC programs with several methods, we modularize our approach in order to re-use termination graphs and TRSs for the separate methods and to prove termination of the resulting TRS in a modular way. We implemented our approach in the tool AProVE. Our experiments show that the new contributions increase the power of termination analysis for JBC significantly. Marc Brockschmidt, Carsten Otto, Jürgen Giesl |
RTA | 3 |
| 2011 | Proving Termination by Dependency Pairs and Inductive Theorem Proving
Carsten Fuhs, Jürgen Giesl, Michael Parting, Peter Schneider-Kamp, Stephan Swiderski |
J. Autom. Reason. | 2 |
| 2011 | Preface: Special Issue of Selected Extended Papers of IJCAR 2010
Jürgen Giesl, Reiner Hähnle |
J. Autom. Reason. | 1 |
| 2011 | Automated termination proofs for haskell by term rewritingabstractThere are many powerful techniques for automated termination analysis of term rewriting. However, up to now they have hardly been used for real programming languages. We present a new approach which permits the application of existing techniques from term rewriting to prove termination of most functions defined in Haskell programs. In particular, we show how termination techniques for ordinary rewriting can be used to handle those features of Haskell which are missing in term rewriting (e.g., lazy evaluation, polymorphic types, and higher-order functions). We implemented our results in the termination prover AProVE and successfully evaluated them on existing Haskell libraries. Jürgen Giesl, Matthias Raffelsieper, Peter Schneider-Kamp, Stephan Swiderski, René Thiemann |
ACM Trans. Program. Lang. Syst. | 1 |
| 2011 | SAT-based termination analysis using monotonicity constraints over the integersabstractAbstract We describe an algorithm for proving termination of programs abstracted to systems of monotonicity constraints in the integer domain. Monotonicity constraints are a nontrivial extension of the well-known size-change termination method. While deciding termination for systems of monotonicity constraints is PSPACE complete, we focus on a well-defined and significant subset, which we call MCNP (for “monotonicity constraints in NP”), designed to be amenable to a SAT-based solution. Our technique is based on the search for a special type of ranking function defined in terms of bounded differences between multisets of integer values. We describe the application of our approach as the back end for the termination analysis of Java Bytecode. At the front end, systems of monotonicity constraints are obtained by abstracting information, using two different termination analyzers:AProVEandCOSTA. Preliminary results reveal that our approach provides a good trade-off between precision and cost of analysis. Michael Codish, Igor Gonopolskiy, Amir M. Ben-Amram, Carsten Fuhs, Jürgen Giesl |
Theory Pract. Log. Program. | 5 |
| 2011 | Polytool: Polynomial interpretations as a basis for termination analysis of logic programsabstractAbstract Our goal is to study the feasibility of porting termination analysis techniques developed for one programming paradigm to another paradigm. In this paper, we show how to adapt termination analysis techniques based on polynomial interpretations—very well known in the context of term rewrite systems—to obtain new (nontransformational) termination analysis techniques for definite logic programs (LPs). This leads to an approach that can be seen as a direct generalization of the traditional techniques in termination analysis of LPs, where linear norms and level mappings are used. Our extension generalizes these to arbitrary polynomials. We extend a number of standard concepts and results on termination analysis to the context of polynomial interpretations. We also propose a constraint-based approach for automatically generating polynomial interpretations that satisfy the termination conditions. Based on this approach, we implemented a new tool, called Polytool, for automatic termination analysis of LPs. Manh Thang Nguyen, Danny De Schreye, Jürgen Giesl, Peter Schneider-Kamp |
Theory Pract. Log. Program. | 3 |
| 2010 | Dependency Triples for Improving Termination Analysis of Logic Programs with Cut
Thomas Ströder, Peter Schneider-Kamp, Jürgen Giesl |
LOPSTR | 3 |
| 2010 | Automated Termination Analysis of Java Bytecode by Term RewritingabstractWe present an automated approach to prove termination of Java Bytecode (JBC) programs by automatically transforming them to term rewrite systems (TRSs). In this way, the numerous techniques and tools developed for TRS termination can now be used for imperative object-oriented languages like Java, which can be compiled into JBC. Carsten Otto, Marc Brockschmidt, Christian von Essen, Jürgen Giesl |
RTA | 4 |
| 2010 | Automated termination analysis for logic programs with cutabstractAbstract Termination is an important and well-studied property for logic programs. However, almost all approaches for automated termination analysis focus on definite logic programs, whereas real-world Prolog programs typically use the cut operator. We introduce a novel pre-processing method which automatically transforms Prolog programs into logic programs without cuts, where termination of the cut-free program implies termination of the original program. Hence after this pre-processing, any technique for proving termination of definite logic programs can be applied. We implemented this pre-processing in our termination prover AProVE and evaluated it successfully with extensive experiments. Peter Schneider-Kamp, Jürgen Giesl, Thomas Ströder, Alexander Serebrenik, René Thiemann |
Theory Pract. Log. Program. | 2 |
| 2009 | Termination Analysis by Dependency Pairs and Inductive Theorem Proving
Stephan Swiderski, Michael Parting, Jürgen Giesl, Carsten Fuhs, Peter Schneider-Kamp |
CADE | 3 |
| 2009 | The Dependency Triple Framework for Termination of Logic Programs
Peter Schneider-Kamp, Jürgen Giesl, Manh Thang Nguyen |
LOPSTR | 2 |
| 2009 | Proving Termination of Integer Term Rewriting
Carsten Fuhs, Jürgen Giesl, Martin Plücker, Peter Schneider-Kamp, Stephan Falke 0001 |
RTA | 2 |
| 2009 | Automated termination proofs for logic programs by term rewritingabstractThere are two kinds of approaches for termination analysis of logic programs: “transformational” and “direct” ones. Direct approaches prove termination directly on the basis of the logic program. Transformational approaches transform a logic program into a Term Rewrite System (TRS) and then analyze termination of the resulting TRS instead. Thus, transformational approaches make all methods previously developed for TRSs available for logic programs as well. However, the applicability of most existing transformations is quite restricted, as they can only be used for certain subclasses of logic programs. (Most of them are restricted to well-moded programs.) In this article we improve these transformations such that they become applicable for any definite logic program. To simulate the behavior of logic programs by TRSs, we slightly modify the notion of rewriting by permitting infinite terms. We show that our transformation results in TRSs which are indeed suitable for automated termination analysis. In contrast to most other methods for termination of logic programs, our technique is also sound for logic programming without occur check , which is typically used in practice. We implemented our approach in the termination prover AProVE and successfully evaluated it on a large collection of examples. Peter Schneider-Kamp, Jürgen Giesl, Alexander Serebrenik, René Thiemann |
ACM Trans. Comput. Log. | 2 |
| 2008 | Improving Context-Sensitive Dependency Pairs
Beatriz Alarcón, Fabian Emmes, Carsten Fuhs, Jürgen Giesl, Raúl Gutiérrez, Salvador Lucas, Peter Schneider-Kamp, René Thiemann |
LPAR | 4 |
| 2008 | Maximal Termination
Carsten Fuhs, Jürgen Giesl, Aart Middeldorp, Peter Schneider-Kamp, René Thiemann, Harald Zankl |
RTA | 2 |
| 2008 | Deciding Innermost Loops
René Thiemann, Jürgen Giesl, Peter Schneider-Kamp |
RTA | 2 |
| 2007 | Proving Termination by Bounded Increase
Jürgen Giesl, René Thiemann, Stephan Swiderski, Peter Schneider-Kamp |
CADE | 1 |
| 2007 | Termination Analysis of Logic Programs Based on Dependency Graphs
Manh Thang Nguyen, Jürgen Giesl, Peter Schneider-Kamp, Danny De Schreye |
LOPSTR | 2 |
| 2007 | SAT Solving for Termination Analysis with Polynomial Interpretations
Carsten Fuhs, Jürgen Giesl, Aart Middeldorp, Peter Schneider-Kamp, René Thiemann, Harald Zankl |
SAT | 2 |
| 2007 | RTA 2005
Jürgen Giesl |
Inf. Comput. | 1 |
| 2006 | Automated Termination Analysis for Logic Programs by Term Rewriting
Peter Schneider-Kamp, Jürgen Giesl, Alexander Serebrenik, René Thiemann |
LOPSTR | 2 |
| 2006 | SAT Solving for Argument Filterings
Michael Codish, Peter Schneider-Kamp, Vitaly Lagoon, René Thiemann, Jürgen Giesl |
LPAR | 5 |
| 2006 | Automated Termination Analysis for Haskell: From Term Rewriting to Programming Languages
Jürgen Giesl, Stephan Swiderski, Peter Schneider-Kamp, René Thiemann |
RTA | 1 |
| 2006 | Third Special Issue on Techniques for Automated Termination Proofs
Jürgen Giesl, Deepak Kapur |
J. Autom. Reason. | 1 |
| 2006 | Mechanizing and Improving Dependency Pairs
Jürgen Giesl, René Thiemann, Peter Schneider-Kamp, Stephan Falke 0001 |
J. Autom. Reason. | 1 |
| 2005 | Preface
Jürgen Giesl, Deepak Kapur |
J. Autom. Reason. | 1 |
| 2005 | Preface
Jürgen Giesl, Deepak Kapur |
J. Autom. Reason. | 1 |
| 2004 | The Dependency Pair Framework: Combining Techniques for Automated Termination Proofs
Jürgen Giesl, René Thiemann, Peter Schneider-Kamp |
LPAR | 1 |
| 2004 | Automated Termination Proofs with AProVE
Jürgen Giesl, René Thiemann, Peter Schneider-Kamp, Stephan Falke 0001 |
RTA | 1 |
| 2004 | Transformation techniques for context-sensitive rewrite systemsabstractContext-sensitive rewriting is a computational restriction of term rewriting used to model non-strict (lazy) evaluation in functional programming. The goal of this paper is the study and development of techniques to analyze the termination behavior of context-sensitive rewrite systems. For that purpose, several methods have been proposed in the literature which transform context-sensitive rewrite systems into ordinary rewrite systems such that termination of the transformed ordinary system implies termination of the original context-sensitive system. In this way, the huge variety of existing techniques for termination analysis of ordinary rewriting can be used for context-sensitive rewriting, too. We analyze the existing transformation techniques for proving termination of context-sensitive rewriting and we suggest two new transformations. Our first method is simple, sound, and more powerful than the previously proposed transformations. However, it is not complete, i.e., there are terminating context-sensitive rewrite systems that are transformed into non-terminating term rewrite systems. The second method that we present in this paper is both sound and complete. All these observations also hold for rewriting modulo associativity and commutativity. Jürgen Giesl, Aart Middeldorp |
J. Funct. Program. | 1 |
| 2003 | Deciding Inductive Validity of Equations
Jürgen Giesl, Deepak Kapur |
CADE | 1 |
| 2003 | Improving Dependency Pairs
Jürgen Giesl, René Thiemann, Peter Schneider-Kamp, Stephan Falke 0001 |
LPAR | 1 |
| 2003 | Liveness in Rewriting
Jürgen Giesl, Hans Zantema |
RTA | 1 |
| 2003 | Size-Change Termination for Term Rewriting
René Thiemann, Jürgen Giesl |
RTA | 2 |
| 2002 | Innermost Termination of Context-Sensitive Rewriting
Jürgen Giesl, Aart Middeldorp |
Developments in Language Theory | 1 |
| 2002 | Modular Termination Proofs for Rewriting Using Dependency Pairs
Jürgen Giesl, Thomas Arts, Enno Ohlebusch |
J. Symb. Comput. | 1 |
| 2001 | Dependency Pairs for Equational Rewriting
Jürgen Giesl, Deepak Kapur |
RTA | 1 |
| 2001 | Induction Proofs with Partial Functions
Jürgen Giesl |
J. Autom. Reason. | 1 |
| 2000 | Eliminating Dummy Elimination
Jürgen Giesl, Aart Middeldorp |
CADE | 1 |
| 2000 | Equational Termination by Semantic Labelling
Hitoshi Ohsaki, Aart Middeldorp, Jürgen Giesl |
CSL | 3 |
| 2000 | Termination of term rewriting using dependency pairs
Thomas Arts, Jürgen Giesl |
Theor. Comput. Sci. | 2 |
| 1999 | Transforming Context-Sensitive Rewrite Systems
Jürgen Giesl, Aart Middeldorp |
RTA | 1 |
| 1999 | Approximating the Domains of Functional and Imperative Programs
Jürgen Brauburger, Jürgen Giesl |
Sci. Comput. Program. | 2 |
| 1998 | Termination Analysis by Inductive Evaluation
Jürgen Brauburger, Jürgen Giesl |
CADE | 2 |
| 1998 | Modularity of Termination Using Dependency pairs
Thomas Arts, Jürgen Giesl |
RTA | 2 |
| 1997 | Proving Innermost Normalisation Automatically
Thomas Arts, Jürgen Giesl |
RTA | 2 |
| 1997 | Termination of Nested and Mutually Recursive Algorithms
Jürgen Giesl |
J. Autom. Reason. | 1 |
| 1996 | Termination of Constructor Systems
Thomas Arts, Jürgen Giesl |
RTA | 2 |
| 1996 | Termination Analysis for Partial Functions
Jürgen Brauburger, Jürgen Giesl |
SAS | 2 |
| 1995 | Generating Polynomial Orderings for Termination Proofs
Jürgen Giesl |
RTA | 1 |
| 1995 | Termination Analysis for Functional Programs using Term Orderings
Jürgen Giesl |
SAS | 1 |