English

Automated Expected Value Analysis of Recursive Programs

Programming Languages 2023-04-26 v2

Abstract

In this work, we study the fully automated inference of expected result values of probabilistic programs in the presence of natural programming constructs such as procedures, local variables and recursion. While crucial, capturing these constructs becomes highly non-trivial. The key contribution is the definition of a term representation, denoted as infer[.], translating a pre-expectation semantics into first-order constraints, susceptible to automation via standard methods. A crucial step is the use of logical variables, inspired by previous work on Hoare logics for recursive programs. Noteworthy, our methodology is not restricted to tail-recursion, which could unarguably be replaced by iteration and wouldn't need additional insights. We have implemented this analysis in our prototype ev-imp. We provide ample experimental evidence of the prototype's algorithmic expressibility.

Keywords

Cite

@article{arxiv.2304.01284,
  title  = {Automated Expected Value Analysis of Recursive Programs},
  author = {Martin Avanzini and Georg Moser and Michael Schaper},
  journal= {arXiv preprint arXiv:2304.01284},
  year   = {2023}
}

Comments

Accepted at PLDI'23

R2 v1 2026-06-28T09:47:37.192Z