Advertisement

Sharper and Simpler Nonlinear Interpolants for Program Verification

  • Takamasa OkudonoEmail author
  • Yuki Nishida
  • Kensuke Kojima
  • Kohei Suenaga
  • Kengo Kido
  • Ichiro Hasuo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10695)

Abstract

Interpolation of jointly infeasible predicates plays important roles in various program verification techniques such as invariant synthesis and CEGAR. Intrigued by the recent result by Dai et al. that combines real algebraic geometry and SDP optimization in synthesis of polynomial interpolants, the current paper contributes its enhancement that yields sharper and simpler interpolants. The enhancement is made possible by: theoretical observations in real algebraic geometry; and our continued fraction-based algorithm that rounds off (potentially erroneous) numerical solutions of SDP solvers. Experiment results support our tool’s effectiandveness; we also demonstrate the benefit of sharp and simple interpolants in program verification examples.

Keywords

Program verification Interpolation Nonlinear interpolant Polynomial Real algebraic geometry SDP optimization Numerical optimization 

Notes

Acknowledgments

Thanks are due to Eugenia Sironi, Gidon Ernst and the anonymous referees for their useful comments. T.O., K. Kido and I.H. are supported by JST ERATO HASUO Metamathematics for Systems Design Project (No. JPMJER1603), and JSPS Grants-in-Aid No. 15KT0012 & 15K11984. K. Kojima is supported by JST CREST. K.S. is supported by JST PRESTO No. JPMJPR15E5 and JSPS Grants-in-Aid No. 15KT0012. K. Kido is supported by JSPS Grant-in-Aid for JSPS Research Fellows No. 15J05580.

References

  1. 1.
    Anai, H., Parrilo, P.A.: Convex quantifier elimination for semidefinite programming. In: Proceedings of the International Workshop on Computer Algebra in Scientific Computing, CASC (2003)Google Scholar
  2. 2.
    Besson, F.: Fast reflexive arithmetic tactics the linear case and beyond. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 48–62. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-74464-1_4 CrossRefGoogle Scholar
  3. 3.
    Bochnak, J., Coste, M., Roy, M.F.: Real Algebraic Geometry. Springer, New York (1999)zbMATHGoogle Scholar
  4. 4.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50(5), 752–794 (2003).  https://doi.org/10.1145/876638.876643 MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Colón, M., Sankaranarayanan, S., Sipma, H.: Linear invariant generation using non-linear constraint solving. In: Hunt Jr., Somenzi [14], pp. 420–432Google Scholar
  6. 6.
    Dai, L.: The tool \(\mathtt{{aiSat}}\). github.com/djuanbei/aiSat. Accessed 17 Jan 2017
  7. 7.
    Dai, L., Gan, T., Xia, B., Zhan, N.: Barrier certificates revisited. J. Symb. Comput. 80, 62–86 (2017).  https://doi.org/10.1016/j.jsc.2016.07.010 MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Dai, L., Xia, B., Zhan, N.: Generating non-linear interpolants by semidefinite programming. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 364–380. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-39799-8_25 CrossRefGoogle Scholar
  9. 9.
    Gan, T., Dai, L., Xia, B., Zhan, N., Kapur, D., Chen, M.: Interpolant synthesis for quadratic polynomial inequalities and combination with EUF. In: Olivetti, N., Tiwari, A. (eds.) IJCAR 2016. LNCS (LNAI), vol. 9706, pp. 195–212. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-40229-1_14 Google Scholar
  10. 10.
    Gao, S., Zufferey, D.: Interpolants in nonlinear theories over the reals. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 625–641. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-49674-9_41 CrossRefGoogle Scholar
  11. 11.
    Gurfinkel, A., Rollini, S.F., Sharygina, N.: Interpolation properties and SAT-based model checking. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 255–271. Springer, Cham (2013).  https://doi.org/10.1007/978-3-319-02444-8_19 CrossRefGoogle Scholar
  12. 12.
    Harrison, J.: Verifying nonlinear real formulas via sums of squares. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 102–118. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-74591-4_9 CrossRefGoogle Scholar
  13. 13.
    Henzinger, T.A., Jhala, R., Majumdar, R., McMillan, K.L.: Abstractions from proofs. In: Jones, N.D., Leroy, X. (eds.) Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2004, Venice, Italy, January 14–16, 2004. pp. 232–244. ACM (2004). http://dl.acm.org/citation.cfm?id=964001
  14. 14.
    Hunt Jr., W.A., Somenzi, F. (eds.): CAV 2003. LNCS, vol. 2725. Springer, Heidelberg (2003).  https://doi.org/10.1007/b11831 Google Scholar
  15. 15.
    Jhala, R., McMillan, K.L.: Interpolant-based transition relation approximation. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 39–51. Springer, Heidelberg (2005).  https://doi.org/10.1007/11513988_6 CrossRefGoogle Scholar
  16. 16.
    Jhala, R., McMillan, K.L.: A practical and complete approach to predicate refinement. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 459–473. Springer, Heidelberg (2006).  https://doi.org/10.1007/11691372_33 CrossRefGoogle Scholar
  17. 17.
    Kaltofen, E., Li, B., Yang, Z., Zhi, L.: Exact certification of global optimality of approximate factorizations via rationalizing sums-of-squares with floating point scalars. In: Sendra, J.R., González-Vega, L. (eds.) Symbolic and Algebraic Computation, International Symposium, ISSAC 2008, Linz/Hagenberg, Austria, July 20–23, 2008, Proceedings, pp. 155–164. ACM (2008). http://doi.acm.org/10.1145/1390768.1390792
  18. 18.
    Kupferschmid, S., Becker, B.: Craig interpolation in the presence of non-linear constraints. In: Fahrenberg, U., Tripakis, S. (eds.) FORMATS 2011. LNCS, vol. 6919, pp. 240–255. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-24310-3_17 CrossRefGoogle Scholar
  19. 19.
    Lang, S.: Introduction to Diophantine Approximations. Springer Books on Elementary mathematics. Springer, New York (1995).  https://doi.org/10.1007/978-1-4612-4220-8 CrossRefzbMATHGoogle Scholar
  20. 20.
    Lin, W., Wu, M., Yang, Z., Zeng, Z.: Proving total correctness and generating preconditions for loop programs via symbolic-numeric computation methods. Front. Comput. Sci. 8(2), 192–202 (2014).  https://doi.org/10.1007/s11704-014-3150-6 MathSciNetCrossRefGoogle Scholar
  21. 21.
    McMillan, K.L.: Interpolation and sat-based model checking. In: Hunt Jr., Somenzi [14], pp. 1–13Google Scholar
  22. 22.
    McMillan, K.L.: Applications of craig interpolants in model checking. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 1–12. Springer, Heidelberg (2005).  https://doi.org/10.1007/978-3-540-31980-1_1 CrossRefGoogle Scholar
  23. 23.
    McMillan, K.L.: Lazy abstraction with interpolants. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 123–136. Springer, Heidelberg (2006).  https://doi.org/10.1007/11817963_14 CrossRefGoogle Scholar
  24. 24.
    Okudono, T., Nishida, Y., Kojima, K., Suenaga, K., Kido, K., Hasuo, I.: Sharper and simpler nonlinear interpolants for program verification. CoRR abs/1709.00314 (2017)Google Scholar
  25. 25.
    Parrilo, P.: Structured semidefinite programs and semialgebraic geometry methods in robustness and optimization. Ph.D. thesis, California Inst. of Tech. (2000)Google Scholar
  26. 26.
    Parrilo, P.A.: Semidefinite programming relaxations for semialgebraic problems. Math. Program. 96(2), 293–320 (2003).  https://doi.org/10.1007/s10107-003-0387-5 MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Peyrl, H., Parrilo, P.A.: Computing sum of squares decompositions with rational coefficients. Theor. Comput. Sci. 409(2), 269–281 (2008).  https://doi.org/10.1016/j.tcs.2008.09.025 MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Platzer, A., Quesel, J.-D., Rümmer, P.: Real world verification. In: Schmidt, R.A. (ed.) CADE 2009. LNCS (LNAI), vol. 5663, pp. 485–501. Springer, Heidelberg (2009).  https://doi.org/10.1007/978-3-642-02959-2_35 CrossRefGoogle Scholar
  29. 29.
    Putinar, M.: Positive polynomials on compact semi-algebraic sets. Indiana Univ. Math. Journ. 42(3), 969–984 (1993)CrossRefzbMATHGoogle Scholar
  30. 30.
    Roux, P., Voronin, Y.-L., Sankaranarayanan, S.: Validating numerical semidefinite programming solvers for polynomial invariants. In: Rival, X. (ed.) SAS 2016. LNCS, vol. 9837, pp. 424–446. Springer, Heidelberg (2016).  https://doi.org/10.1007/978-3-662-53413-7_21 CrossRefGoogle Scholar
  31. 31.
    Rump, S.: Verification of positive definiteness. BIT Numer. Math. 46(2), 433–452 (2006).  https://doi.org/10.1007/s10543-006-0056-1 MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Rybalchenko, A., Sofronie-Stokkermans, V.: Constraint solving for interpolation. In: Cook, B., Podelski, A. (eds.) VMCAI 2007. LNCS, vol. 4349, pp. 346–362. Springer, Heidelberg (2007).  https://doi.org/10.1007/978-3-540-69738-1_25 CrossRefGoogle Scholar
  33. 33.
    Sharma, R., Gupta, S., Hariharan, B., Aiken, A., Liang, P., Nori, A.V.: A data driven approach for algebraic loop invariants. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 574–592. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-37036-6_31 CrossRefGoogle Scholar
  34. 34.
    Stengle, G.: A Nullstellensatz and a Positivstellensatz in semialgebraic geometry. Math. Ann. 207(2), 87–97 (1974).  https://doi.org/10.1007/BF01362149 MathSciNetCrossRefzbMATHGoogle Scholar
  35. 35.
    Terauchi, T.: Explaining the effectiveness of small refinement heuristics in program verification with CEGAR. In: Blazy, S., Jensen, T. (eds.) SAS 2015. LNCS, vol. 9291, pp. 128–144. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-48288-9_8 CrossRefGoogle Scholar
  36. 36.
    Toh, K.C., Todd, M., Tütüncü, R.H.: Sdpt3 - a matlab software package for semidefinite programming. Optim. Methods Softw. 11, 545–581 (1999)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Takamasa Okudono
    • 1
  • Yuki Nishida
    • 2
  • Kensuke Kojima
    • 2
  • Kohei Suenaga
    • 2
    • 3
  • Kengo Kido
    • 1
    • 4
  • Ichiro Hasuo
    • 5
  1. 1.University of TokyoTokyoJapan
  2. 2.Kyoto UniversityKyotoJapan
  3. 3.JST PRESTOKyotoJapan
  4. 4.JSPS Research FellowTokyoJapan
  5. 5.National Institute of InformaticsTokyoJapan

Personalised recommendations