English
Related papers

Related papers: Improving Automatic Complexity Analysis of Integer…

200 papers

We present an efficient approach to prove termination of monotone programs with integer variables, an expressive class of loops that is often encountered in computer programs. Our approach is based on a lightweight static analysis method…

Logic in Computer Science · Computer Science 2017-02-07 Omar Al-Bataineh , Xie Xiaofei , Mark Reynolds

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…

Logic in Computer Science · Computer Science 2019-08-09 Florian Frohn , Jürgen Giesl

This paper introduces a new methodology for the complexity analysis of higher-order functional programs, which is based on three components: a powerful type system for size analysis and a sound type inference procedure for it, a ticking…

Logic in Computer Science · Computer Science 2017-04-20 Martin Avanzini , Ugo Dal Lago

We consider the problem of automatically proving resource bounds. That is, we study how to prove that an integer-valued resource variable is bounded by a given program expression. Automatic resource-bound analysis has recently received…

Programming Languages · Computer Science 2021-10-15 Tianhan Lu , Bor-Yuh Evan Chang , Ashutosh Trivedi

Computational models of human language often involve combinatorial problems. For instance, a probabilistic parser may marginalize over exponentially many trees to make predictions. Algorithms for such problems often employ dynamic…

Computation and Language · Computer Science 2021-09-16 Tim Vieira , Ryan Cotterell , Jason Eisner

We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of…

Logic in Computer Science · Computer Science 2015-06-17 Martin Avanzini , Ugo Dal Lago , Georg Moser

The task of inferring logical formulas from examples has garnered significant attention as a means to assist engineers in creating formal specifications used in the design, synthesis, and verification of computing systems. Among various…

Logic in Computer Science · Computer Science 2025-06-04 Benjamin Bordais , Daniel Neider

Programs with multiphase control-flow are programs where the execution passes through several (possibly implicit) phases. Proving termination of such programs (or inferring corresponding runtime bounds) is often challenging since it…

Programming Languages · Computer Science 2021-09-13 Jesús J. Domenech , Samir Genaim

Research efforts of the past fifty years have led to a development of linear integer programming as a mature discipline of mathematical optimization. Such a level of maturity has not been reached when one considers nonlinear systems subject…

Optimization and Control · Mathematics 2017-01-03 Raymond Hemmecke , Matthias Köppe , Jon Lee , Robert Weismantel

In this paper we establish an automated amortised resource analysis for term rewrite systems. The method is presented in an annotated type system and gives rise to polynomial bounds on the innermost runtime complexity of the analysed term…

Logic in Computer Science · Computer Science 2018-11-26 Georg Moser , Manuel Schneckenreither

Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems,…

Software Engineering · Computer Science 2015-05-19 Hong-Yi Chen , Cristina David , Daniel Kroening , Peter Schrammel , Björn Wachter

We propose an algorithm for solving bound-constrained mathematical programs with complementarity constraints on the variables. Each iteration of the algorithm involves solving a linear program with complementarity constraints in order to…

Optimization and Control · Mathematics 2022-01-14 Christian Kirches , Jeffrey Larson , Sven Leyffer , Paul Manns

We propose a method for automatically generating abstract transformers for static analysis by abstract interpretation. The method focuses on linear constraints on programs operating on rational, real or floating-point variables and…

Programming Languages · Computer Science 2008-11-04 David Monniaux

In this paper, we identify a fragment of second-order logic with restricted quantification that is expressive enough to capture numerous static analysis problems (e.g. safety proving, bug finding, termination and non-termination proving,…

Logic in Computer Science · Computer Science 2015-09-01 Cristina David , Daniel Kroening , Matt Lewis

As new advancements in the field of quantum computing lead to the development of increasingly complex programs, approaches to validate and debug these programs are becoming more important. To this end, methods employed in classical…

Quantum Physics · Physics 2024-12-20 Damian Rovara , Lukas Burgholzer , Robert Wille

We consider the problem of developing automated techniques for solving recurrence relations to aid the expected-runtime analysis of programs. Several classical textbook algorithms have quite efficient expected-runtime complexity, whereas…

Programming Languages · Computer Science 2017-05-02 Krishnendu Chatterjee , Hongfei Fu , Aniket Murhekar

We present a new algorithm for computing upper bounds on the number of executions of each program instruction during any single program run. The upper bounds are expressed as functions of program input values. The algorithm is primarily…

Programming Languages · Computer Science 2016-05-13 Pavel Čadek , Jan Strejček , Marek Trtík

We consider feasibility of linear integer programs in the context of verification systems such as SMT solvers or theorem provers. Although satisfiability of linear integer programs is decidable, many state-of-the-art solvers neglect…

Logic in Computer Science · Computer Science 2020-10-26 Martin Bromberger , Thomas Sturm , Christoph Weidenbach

For logic programs with arithmetic predicates, showing termination is not easy, since the usual order for the integers is not well-founded. A new method, easily incorporated in the TermiLog system for automatic termination analysis, is…

Programming Languages · Computer Science 2007-05-23 Nachum Dershowitz , Naomi Lindenstrauss , Yehoshua Sagiv , Alexander Serebrenik

This paper introduces a new methodology for the complexity analysis of higher-order functional programs, which is based on three ingredients: a powerful type system for size analysis and a sound type inference procedure for it, a ticking…

Logic in Computer Science · Computer Science 2017-06-29 Martin Avanzini , Ugo Dal Lago