Speeding Up Logico-Numerical Strategy Iteration
We introduce an efficient combination of polyhedral analysis and predicate partitioning. Template polyhedral analysis abstracts numerical variables inside a program by one polyhedron per control location, with a priori fixed directions for the faces. The strongest inductive invariant in such an abstract domain may be computed by a combination of strategy iteration and SMT solving. Unfortunately, the above approaches lead to unacceptable space and time costs if applied to a program whose control states have been partitioned according to predicates. We therefore propose a modification of the strategy iteration algorithm where the strategies are stored succinctly, and the linear programs to be solved at each iteration step are simplified according to an equivalence relation. We have implemented the technique in a prototype tool and we demonstrate on a series of examples that the approach performs significantly better than previous strategy iteration techniques.
KeywordsEquivalence Class Linear Inequality Strategy Iteration Boolean Variable Propositional Formula
Unable to display preview. Download preview PDF.
- 1.Gawlitza, T.M., Monniaux, D.: Invariant generation through strategy iteration in succinctly represented control flow graphs. Logical Methods in Computer Science (2012) Journal version of an article in ESOP 2011Google Scholar
- 6.Gawlitza, T.M., Seidl, H.: Solving systems of rational equations through strategy iteration. ACM Trans. Program. Lang. Syst. 33, 11:1–11:48 (2011)Google Scholar
- 8.Monniaux, D., Schrammel, P.: Scaling up logico-numerical strategy iteration (extended version) (2014), http://arxiv.org/abs/1403.2319
- 9.Schrammel, P.: Logico-Numerical Verification Methods for Discrete and Hybrid Systems. PhD thesis, Université de Grenoble (2012)Google Scholar
- 13.Bonakdarpour, B., Kulkarni, S.S., Arora, A.: Disassembling real-time fault-tolerant programs. In: EMSOFT, pp. 169–178. ACM (2008)Google Scholar
- 17.Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: A static analyzer for large safety-critical software. In: PLDI, pp. 196–207. ACM (2003)Google Scholar