Skip to main content
Log in

Recent advances in program verification through computer algebra

  • Review Article
  • Published:
Frontiers of Computer Science in China Aims and scope Submit manuscript

Abstract

In this paper, we summarize the results on program verification through semi-algebraic systems (SASs) solving that we have obtained, including automatic discovery of invariants and ranking functions, symbolic decision procedure for the termination of a class of linear loops, termination analysis of nonlinear systems, and so on.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Harel D, Pnueli A. On the development of reactive systems. Logics and Models of Concurrency Systems, 1985, 13: 447–498

    MathSciNet  Google Scholar 

  2. Lions J L. The ARIANE 5 flight 501 failure report. European Space Agency (ESA), 1996

  3. Skeel R. Roundoff error and the Patriot missile. SIAM News, 1992, 25(4): 11–11

    Google Scholar 

  4. Reeves G, Neilson T. The mars rover spirit FLASH anomaly. In: Proceedings of IEEE Aerospace Conference’05. 2005

  5. International Conference on Verified Software: Theories, Tools and Experiments, ETH Zürich, Oct. 10–13, 2005

  6. Queille J P, Sifakis J. Verification of concurrent systems in CESAR. In: Proceedings of Int. Symp. On Programming. 1982, 337–351

  7. Clarke E M, Emerson E A. Synthesis of synchronization skeletons for branching time temporal logic. In: Proceedings of IBM Workshop on Logics of Programs. 1981, 52–71

  8. Nipkow T, Paulson C P, Wenzel M. Tutorial on ISABELLE/HOL. Springer-Verlag, 2009

  9. Owre S, Rushby J M, Shankar N. PVS: a protype verification system. In: Proceedings of CADE’92. 1992, 748–752

  10. Paulin-Mohring C, Werner B. Synthesis of ML programs in the system Coq. J. Symbolic Logic, 1993, 15(5/6): 607–640

    MATH  MathSciNet  Google Scholar 

  11. Cousot P, Cousot R. Abstraction interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of ACM POPL’77. 1977, 238–252

  12. Cousot P, Cousot R. Systematic design of program analysis frameworks. In: Proceedings of ACM POPL’79. 1979, 269–282

  13. Moszkowski B. A temporal logic for multilevel reasoning about hardware. IEEE Computers, 1985, 18(2): 10–19

    Google Scholar 

  14. Zhou C, Hoare C A R, Ravn A. A calculus of durations. Inf. Processing Letters, 1991, 40(5): 269–276

    Article  MATH  MathSciNet  Google Scholar 

  15. Alur R, Courcoubetis C, Halbwachs N, et al. The algorithmic analysis of hybrid systems. Theoretical Computer Science, 1995, 138(3): 3–34

    Article  MATH  MathSciNet  Google Scholar 

  16. Manna Z, Pnueli A. Verifying hybrid systems. In: Proceedings of Hybrid Systems. LNCS 736, 1993, 4–35

    Google Scholar 

  17. Lamport L. Hybrid systems in TLA +. In: Proceedings of Hybrid Systems. LNCS 736, 1993, 77–102

    Google Scholar 

  18. Kesten Y, Pnueli A. Timed and hybrid statecharts and their textual representation. In: Proceedings of Formal Techniques in Real-Time and Fault-Tolerant Systems. LNCS 571, 1992, 591–619

    Google Scholar 

  19. Rodriguez-Carbonell E, Kapur D. An abstract interpretation approach for automatic generation of polynomial invariants. In: Proceedings of Static Analysis Symposium (SAS’04). 2004, 280–295

  20. Rodriguez-Carbonell E, Kapur D. Automatic generation of polynomial loop invariants: algebraic foundations. In: Proceedings of Intl. Symp on Symbolic and Algebraic Computation (ISSAC’04). 2004

  21. Sankaranarayanan S, Sipma H B, Manna Z. Non-linear loop invariant generation using Gröbner bases. In: Proceedings of ACM POPL’04. 2004, 318–329

  22. Collins G E. Quantifier elimination for real closed fields by cylindrical algebraic decomposition. Automata Theory and Formal Languages, LNCS 33, 1975, 134–183

    Google Scholar 

  23. Collins G E, Hong H. Partial cylindrical algebraic decomposition for quantifier elimination. J. of Symbolic Computation, 1991, 12: 299–328

    Article  MATH  MathSciNet  Google Scholar 

  24. Lafferre G, Pappas G J, Yovine S. Symbolic reachability computaion for families of linear vector fields. J. of Symbolic Computation, 2001, 11: 1–23

    Google Scholar 

  25. Yang L, Zhan N, Xia B, et al. Program verification by using DISCOVERER. In: Proceedings of VSTTE’05. 2005, 575–586

  26. Kapur D. Automatically generating loop invariants using quantifier Elimination. In: Proceedings of IMACS Intl. Conf. on Applications of Computer Algebra (ACA’04). 2004

  27. Henzinger T A, Wong-Toi H. Linear phase-portrait approximations for nonlinear hybrid systems. In: Proceedings of Hybrid Systems’95. 1995, 377–388

  28. Podelski A, Rybalchenko A. A complete method for the synthesis of linear ranking functions. In: Proceedings of VMCAI’04. 2004, 239–251

  29. Tiwari A. Termination of linear programs. In: Proceedings of CAV’04. 2004, 70–82

  30. Yang L. Recent advances on determining the number of real roots of parametric polynomials. J. Symbolic Computation, 1999, 28: 225–242

    Article  MATH  Google Scholar 

  31. Yang L, Hou X, Xia B. A complete algorithm for automated discovering of a class of inequality-type theorems. Sci. in China (Ser. F), 2001, 44: 33–49

    Article  MATH  MathSciNet  Google Scholar 

  32. Yang L, Hou X, Zeng Z. A complete discrimination system for polynomials. Science in China (Ser. E), 1996, 39: 628–646

    MATH  MathSciNet  Google Scholar 

  33. Xia B, Yang L. An algorithm for isolating the real solutions of semi-algebraic systems. J. Symbolic Computation, 2002, 34: 461–477

    Article  MATH  MathSciNet  Google Scholar 

  34. Xia B, Zhang T. Real solution isolation using interval arithmetic. Comput. Math. Appl., 2006, 52: 853–860

    Article  MATH  MathSciNet  Google Scholar 

  35. Yao Y. Termination of nonlinear programs over intervals. Journal of Software (in press, in Chinese)

  36. Xu M, Chen L, Li Z B. Reachability computation of a class of nonlinear systems. In: Proceedings of International Conference on Computer and Information Science’09. 2009, 706–710

  37. Xu M, Chen L, Zeng Z, et al. Reachability analysis of rational eigenvalue linear systems. To appear in International Journal of Systems Science

  38. Floyd R W. Assigning meanings to programs. In: Proceedings of Symphosium on Applied Mathematics. 1967, 19–37

  39. Hoare C A R. An axiomatic basis for computer programming. Comm. ACM, 1969, 12(10): 576–580

    Article  MATH  Google Scholar 

  40. Naur P. Proofs of algorithms by general snapshops. BIT, 1966, 6: 310–316

    Article  Google Scholar 

  41. German S, Wegbreit B. A synthesizer of inductive assertions. IEEE Transactions on Software Engineering, 1975, 1(1): 68–75

    Google Scholar 

  42. Karr M. Affine relationships among variables of a program. Acta Informatica, 1976, 6:133–151

    Article  MATH  MathSciNet  Google Scholar 

  43. Katz S, Manna Z. Logical analysis of programms. Communications of the ACM, 1976, 19(4): 188–206

    Article  MATH  MathSciNet  Google Scholar 

  44. Wegbreit B. The synthesis of loop predicates. Communications of the ACM, 1974, 17(2): 102–112

    Article  MATH  MathSciNet  Google Scholar 

  45. Besson F, Jensen T, Talpin J P. Polyhedral analysis of synchronous languages. In: Proceedings of SAS’99. 1999, 51–69

  46. Cousot P. Proving program invariance and termination by parametric abstraction, Langrangian relaxation and semidefinite programming. In: Proceedings of VMCAI 2005. 2005, 1–24

  47. Cousot P, Halbwachs N. Automatic discovery of linear restraints among the variables of a program. In: Proceedings of ACM POPL’78. 1978, 84–97

  48. Colón M, Sankaranarayanan S, Sipma H B. Linear invariant generation using non-linear constraint solving. In: Proceedings of CAV’03. 2003, 420–432

  49. Mueller-Olm M, Seidl H. Polynomial constants are decidable. In: Proceedings of 9th Static Analysis Symposium (SAS’02). 2002, 4–19

  50. Mueller-Olm M, Seidl H. Precise interprocedural analysis through linear algebra. In: Proceedings of ACM POPL’04. 2004, 330–341

  51. Rodriguez-Carbonell E, Kapur D. Generating all polynomial invariants in simple loops. Journal of Symbolic Computation, 2007, 42: 443–476

    Article  MATH  MathSciNet  Google Scholar 

  52. Davenport J H, Heintz J. Real elimination is doubly exponential. J. of Symbolic Computation, 1988, 5: 29–37

    Article  MATH  MathSciNet  Google Scholar 

  53. Colón M, Sipma H B. Synthesis of linear ranking functions. In: Proceedings of TACAS’01. 2001, 67–81

  54. Dams D, Gerth R, Grumberg O. A heuristic for the automatic generation of ranking functions. In: Proceedings of Workshop on Advances in Verification (WAVe’00). 2000, 1–8

  55. Chen Y, Xia B, Yang L, et al. Discovering non-linear ranking functions by solving semi-algebraic systems. In: Proceedings of ICTAC’07. 2007, 34–49

  56. Bradley A, Manna Z, Sipma H. Termination of polynomial programs. In: Proceedings of VMCAI’05. 2005

  57. Braverman M. Termination of integer linear programs. In: Proceedings of CAV’06. 2006, 372–385

  58. Xia B. DISCOVERER: a tool for solving semi-algebraic systems. ACM SIGSAM Bulletin, 2007, 41(3): 102–103

    Google Scholar 

  59. Chen Y, Xia B, Yang L, et al. Generating polynomial invariants with DISCOVERER and QEPCAD. In: Proceedings of Formal Methods and Hybrid Real-Time Systems’07 (the Festschrift Symposium for Dines Bjorner and Zhou Chaochen). 2007, 67–82

  60. Xia B, Yang L, Zhan N. Program verification by reduction to semialgebraic systems solving. In: Proceedings of ISoLA’08. 2008, 277–291

  61. Li Y. Automatic discovery of non-linear ranking function of loop programs. ICCSIT, 2009, 1: 402–406

    Google Scholar 

  62. Bradley A, Manna Z, Sipma H. Termination analysis of integer linear loops. LNCS 3653, 2005, 488–502

    MathSciNet  Google Scholar 

  63. Yang L. Recent advances in automated theorem proving on inequalities. J. of Computer Science and Technology, 1999, 14(5): 434–446

    Article  MATH  Google Scholar 

  64. Xia B, Yang L, Zhan N, et al. Symbolic decision procedure for termination of linear programs. (DOI:10.1007/s00165-009-0144-5), Formal Aspects of Computing (in press)

  65. Bi Z, Shan M. Termination analysis of linear programs with conditionals. In: Proceedings of International Conference on Advanced Computer Theory and Engineering’08. 2008, 450–456

  66. Blondel V D, Bournez O, Koiran P, et al. Deciding stability and mortality of piecewise affine dynamical systems. Theoretical Computer Science, 2001, 255(1–2): 687–696

    Article  MATH  MathSciNet  Google Scholar 

  67. Xia B, Zhang Z. Termination of linear programs with nonlinear constraints. arXiv:0904.3588v1, 2009

  68. Wu B, Shen L, Bi Z. Termination of loop programs with polynomial guards. In: Proceedings of the 2010 International Conference on Computational Science and Its Applications, LNCS (in press)

  69. Wu B, Shen L, Bi Z, et al. Termination of a class of the programs with polynomial guards. In: Proceedings of International Conference on Information Management and Engineering. 2009, 274–277

  70. Bi Z, Shan M, Wu B. Termination analysis of P-solvable loops with assignments only. In: Proceedings of 2008 International Symposium on Information Science and Engineering. 2008, 125–129

  71. Kovács L. Automated invariant generation by algebraic techniques for imperative program verification in theorema. Dissertation for the Doctoral Degree. Hohannes Kepler University of Linz, 2007

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Naijun Zhan.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yang, L., Zhou, C., Zhan, N. et al. Recent advances in program verification through computer algebra. Front. Comput. Sci. China 4, 1–16 (2010). https://doi.org/10.1007/s11704-009-0074-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-009-0074-7

Keywords