🤖 AI Summary
This work addresses automatic runtime and variable-size bound analysis for integer programs, focusing on the decidable subclass of periodic rational-solvable loops (PRS-loops). The proposed method introduces a modular analysis framework: it first derives local bounds for PRS-loops, then lifts them to global bounds via program transformation and inductive reasoning. Crucially, it extends the decidability of PRS-loop analysis to arbitrary integer programs by designing a synergistic synthesis mechanism combining abstract interpretation with rational linear algebra. The approach is fully automated in the tool KoAT, supporting precise derivation of polynomial and exponential complexity bounds as well as variable growth bounds. Experimental evaluation demonstrates effectiveness on diverse nontrivial integer programs, significantly improving the completeness, precision, and practicality of automated complexity analysis.
📝 Abstract
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. We show how to use these results for the complexity analysis of full 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 our approach. The power of our procedure is shown by our implementation in the complexity analysis tool KoAT.