Core Concepts
The authors present a novel control-flow refinement (CFR) technique that can be used to improve the automated complexity analysis of probabilistic integer programs. They prove the soundness of their CFR approach and demonstrate its benefits by implementing it in their complexity analysis tool KoAT.
Abstract
The authors introduce a control-flow refinement (CFR) technique for probabilistic integer programs (PIPs) and show how it can be combined with automated complexity analysis.
Key highlights:
CFR aims to gain information on program variable values and sort out infeasible program paths to simplify the analysis.
The authors extend the classical CFR approach to the probabilistic setting and prove the soundness of their technique.
They implement the new CFR algorithm natively in their complexity analysis tool KoAT, allowing it to be used in a modular way.
Experiments show that CFR significantly increases the power of KoAT for complexity analysis of probabilistic programs.
The authors first provide the necessary preliminaries on PIPs and their semantics. They then introduce the CFR algorithm for PIPs, which iteratively refines the control-flow by introducing new labeled locations based on the program's guards and updates. The soundness of this approach is proven in Theorem 4.
The authors also discuss the runtime complexity of their CFR algorithm and demonstrate its benefits through an experimental evaluation using the KoAT tool. The results show that CFR enables KoAT to infer tighter bounds on the expected runtime complexity of probabilistic programs compared to the original version of KoAT and other state-of-the-art tools.