Generalized Homogeneous Polynomials for Efficient Template-Based Nonlinear Invariant Synthesis
The template-based method is one of the most successful approaches to algebraic invariant synthesis. In this method, an algorithm designates a template polynomial \(p\) over program variables, generates constraints for \(p=0\) to be an invariant, and solves the generated constraints. However, this approach often suffers from an increasing template size if the degree of a template polynomial is too high.
We propose a technique to make template-based methods more efficient. Our technique is based on the following finding: If an algebraic invariant exists, then there is a specific algebraic invariant that we call a generalized homogeneous algebraic invariant that is often smaller. This finding justifies using only a smaller template that corresponds to a generalized homogeneous algebraic invariant.
Concretely, we state our finding above formally based on the abstract semantics of an imperative program proposed by Cachera et al. Then, we modify their template-based invariant synthesis so that it generates only generalized homogeneous algebraic invariants. This modification is proved to be sound. Furthermore, we also empirically demonstrate the merit of the restriction to generalized homogeneous algebraic invariants. Our implementation outperforms that of Cachera et al. for programs that require a higher-degree template.
We appreciate annonymous reviewers, Toshimitsu Ushio, Naoki Kobayashi and Atsushi Igarashi for their comments. This work is partially supported by JST PRESTO, JST CREST, KAKENHI 70633692, and in collaboration with the Toyota Motor Corporation.
- 7.Garg, P., Löding, C., Madhusudan, P., Neider, D.: ICE: a robust framework for learning invariants. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 69–87. Springer, Heidelberg (2014)Google Scholar
- 12.Kennedy, A.: Dimension types. In: ESOP 1994, pp. 348–362 (1994)Google Scholar
- 13.Kennedy, A.: Programming languages and dimensions. Ph.D. thesis, St. Catharine’s College, March 1996Google Scholar
- 17.Neusel, M.D.: Invariant theory. The American Mathematical Society (2000)Google Scholar
- 18.Rodríguez-Carbonell, E.: Some programs that need polynomial invariants in order to be verified. http://www.cs.upc.edu/erodri/webpage/polynomial_invariants/list.html. Accessed 25 January 2016
- 20.Sankaranarayanan, S., Sipma, H., Manna, Z.: Non-linear loop invariant generation using Gröbner bases. In: POPL 2004, pp. 318–329 (2004)Google Scholar
- 21.Somenzi, F., Bradley, A.R.: IC3: where monolithic and incremental meet. In: FMCAD 2011, pp. 3–8 (2011)Google Scholar
- 24.Suenaga, K., Sekine, H., Hasuo, I.: Hyperstream processing systems: nonstandard modeling of continuous-time signals. In: Giacobazzi, R., Cousot, R. (eds.) POPL 2013, pp. 417–430. ACM (2013)Google Scholar