[Paper Review] On Decidable Growth-Rate Properties of Imperative Programs
This paper extends the decidable growth-rate analysis of imperative programs by adding reset-to-zero commands (X := 0) to the core language from Ben-Amram et al. (2008), proving that polynomial and linear growth-rate properties remain decidable under this extension. The analysis uses a top-down, proof-rule-based method focused on disproving polynomial bounds, resulting in a PSPACE-complete decision procedure—marking a significant increase in complexity from the original PTIME result.
In 2008, Ben-Amram, Jones and Kristiansen showed that for a simple "core" programming language - an imperative language with bounded loops, and arithmetics limited to addition and multiplication - it was possible to decide precisely whether a program had certain growth-rate properties, namely polynomial (or linear) bounds on computed values, or on the running time. This work emphasized the role of the core language in mitigating the notorious undecidability of program properties, so that one deals with decidable problems. A natural and intriguing problem was whether more elements can be added to the core language, improving its utility, while keeping the growth-rate properties decidable. In particular, the method presented could not handle a command that resets a variable to zero. This paper shows how to handle resets. The analysis is given in a logical style (proof rules), and its complexity is shown to be PSPACE-complete (in contrast, without resets, the problem was PTIME). The analysis algorithm evolved from the previous solution in an interesting way: focus was shifted from proving a bound to disproving it, and the algorithm works top-down rather than bottom-up.
Motivation & Objective
- To extend the decidable growth-rate analysis framework for imperative programs to include reset-to-zero assignments (X := 0), which were previously unsupported.
- To investigate whether adding resets preserves decidability of polynomial and linear growth-rate properties.
- To determine the computational complexity of the extended analysis problem and establish tight bounds.
- To develop a new top-down, proof-rule-based algorithm that focuses on disproving polynomial bounds rather than proving them.
- To explore the trade-off between expressiveness of the core language and decidability of complexity properties.
Proposed method
- The analysis uses a logical framework of inference rules designed to derive proofs of non-polynomial growth, shifting focus from proving polynomial bounds to disproving them.
- The method operates top-down, traversing the program’s control flow and using context-sensitive analysis to track variable values and their growth patterns.
- A key innovation is the use of 'contexts' to manage non-monotonic behavior introduced by resets, treating zero-initialized variables as known points of reset.
- The algorithm over-approximates the semantics of the concrete program using a simplified core language, ensuring soundness by conservatively capturing all possible behaviors.
- Complexity is analyzed via a reduction to a PSPACE-complete problem, with a matching upper bound established through a polynomial-space bounded search over proof derivations.
- The approach generalizes the original PTIME algorithm by redefining the analysis goal: instead of certifying polynomial bounds, it seeks to refute them.
Experimental results
Research questions
- RQ1Can the decidable growth-rate analysis framework be extended to include reset-to-zero commands (X := 0) while preserving decidability?
- RQ2What is the computational complexity of the growth-rate analysis problem when resets are added to the core language?
- RQ3How does the introduction of resets affect the design of the analysis algorithm, particularly in terms of control flow and value tracking?
- RQ4Is the new analysis method, based on disproving bounds, more effective or efficient than the original method of proving bounds?
- RQ5Are there natural extensions to the core language (e.g., min, max, constants) that preserve decidability or lead to higher complexity?
Key findings
- The addition of reset-to-zero commands (X := 0) to the core imperative language results in a PSPACE-complete problem for deciding polynomial and linear growth-rate properties.
- The analysis algorithm is no longer based on bottom-up certificate construction but instead uses a top-down, proof-rule-based system focused on disproving polynomial bounds.
- The complexity increase from PTIME (without resets) to PSPACE-complete is tight, as shown by a matching lower bound construction.
- The method introduces context-sensitive tracking of zero-initialized variables, enabling the analysis to handle non-monotonic behavior introduced by resets.
- The approach demonstrates that decidability can be preserved even with non-monotonic operations, provided they are carefully abstracted using structural and logical constraints.
- The paper leaves open the decidability of extensions involving min operators or the constant 1, though it conjectures PSPACE-completeness for min and undecidability or higher complexity for the constant 1.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.