English

Finding polynomial loop invariants for probabilistic programs

Logic in Computer Science 2017-07-11 v1

Abstract

Quantitative loop invariants are an essential element in the verification of probabilistic programs. Recently, multivariate Lagrange interpolation has been applied to synthesizing polynomial invariants. In this paper, we propose an alternative approach. First, we fix a polynomial template as a candidate of a loop invariant. Using Stengle's Positivstellensatz and a transformation to a sum-of-squares problem, we find sufficient conditions on the coefficients. Then, we solve a semidefinite programming feasibility problem to synthesize the loop invariants. If the semidefinite program is unfeasible, we backtrack after increasing the degree of the template. Our approach is semi-complete in the sense that it will always lead us to a feasible solution if one exists and numerical errors are small. Experimental results show the efficiency of our approach.

Keywords

Cite

@article{arxiv.1707.02690,
  title  = {Finding polynomial loop invariants for probabilistic programs},
  author = {Yijun Feng and Lijun Zhang and David N. Jansen and Naijun Zhan and Bican Xia},
  journal= {arXiv preprint arXiv:1707.02690},
  year   = {2017}
}

Comments

accompanies an ATVA 2017 submission