Finding Polynomial Loop Invariants for Probabilistic Programs

Yijun Feng,Lijun Zhang,David N. Jansen,Naijun Zhan,Bican Xia
DOI: https://doi.org/10.1007/978-3-319-68167-2_26
2017-01-01
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.
What problem does this paper attempt to address?