Program Verification by Using DISCOVERER

Recent advances in program verification indicate that various verification problems can be reduced to semi-algebraic system (SAS for short) solving. An SAS consists of polynomial equations and polynomial inequalities. Algorithms for quantifier elimination of real closed fields are the general method for those problems. But the general method usually has low efficiency for specific problems. To overcome the bottleneck of program verification with a symbolic approach, one has to combine special techniques with the general method. Based on the work of complete discrimination systems of polynomials [33,31],, we invented new theories and algorithms [32,30,35] for SAS solving and partly implemented them as a real symbolic computation tool in Maple named DISCOVERER. In this paper, we first summarize the results that we have done so far both on SAS-solving and program verification with DISCOVERER, and then discuss the future work in this direction, including SAS-solving itself, termination analysis and invariant generation of programs, and reachability computation of hybrid systems etc.

[1]  Thomas Sturm,et al.  REDLOG: computer algebra meets computer logic , 1997, SIGS.

[2]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[3]  Jerzy Tiuryn,et al.  Logics of Programs , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[4]  Lu Yang,et al.  Recent Advances on Determining the Number of Real Roots of Parametric Polynomials , 1999, J. Symb. Comput..

[5]  Christine Paulin-Mohring,et al.  Synthesis of ML Programs in the System Coq , 1993, J. Symb. Comput..

[6]  George E. Collins,et al.  Quantifier elimination for real closed fields by cylindrical algebraic decomposition , 1975 .

[7]  Andreas Podelski,et al.  A Complete Method for the Synthesis of Linear Ranking Functions , 2004, VMCAI.

[8]  George E. Collins,et al.  Hauptvortrag: Quantifier elimination for real closed fields by cylindrical algebraic decomposition , 1975, Automata Theory and Formal Languages.

[9]  Henny B. Sipma,et al.  Constructing invariants for hybrid systems , 2004, Formal Methods Syst. Des..

[10]  Li Su Verification of Concurrent Systems , 2003 .

[11]  George E. Collins,et al.  Partial Cylindrical Algebraic Decomposition for Quantifier Elimination , 1991, J. Symb. Comput..

[12]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[13]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[14]  Bican Xia,et al.  A complete algorithm for automated discovering of a class of inequality-type theorems , 2001, Science in China Series F Information Sciences.

[15]  Henny B. Sipma,et al.  Termination of Polynomial Programs , 2005, VMCAI.

[16]  Ashish Tiwari,et al.  Termination of Linear Programs , 2004, CAV.

[17]  Ugo Montanari,et al.  International Symposium on Programming , 1982, Lecture Notes in Computer Science.

[18]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[19]  Bican Xia,et al.  Real Solution Classification for Parametric Semi-Algebraic Systems , 2005, Algorithmic Algebra and Logic.

[20]  Bican Xia,et al.  An Algorithm for Isolating the Real Solutions of Semi-algebraic Systems , 2002, J. Symb. Comput..

[21]  Henny B. Sipma,et al.  Synthesis of Linear Ranking Functions , 2001, TACAS.

[22]  Stephan Merz,et al.  Model Checking , 2000 .

[23]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[24]  Roberto Giacobazzi,et al.  Making abstract interpretations complete , 2000, JACM.

[25]  Thomas A. Henzinger,et al.  Hybrid Systems: Computation and Control , 1998, Lecture Notes in Computer Science.

[26]  Pravin Varaiya,et al.  What's decidable about hybrid automata? , 1995, STOC '95.

[27]  Henny B. Sipma,et al.  Non-linear loop invariant generation using Gröbner bases , 2004, POPL.

[28]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[29]  Dongming Wang,et al.  Stability analysis of biological systems with real solution classification , 2005, ISSAC.

[30]  Gerardo Lafferriere,et al.  Symbolic Reachability Computation for Families of Linear Vector Fields , 2001, J. Symb. Comput..

[31]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[32]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[33]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[34]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[35]  Henny B. Sipma,et al.  Linear Invariant Generation Using Non-linear Constraint Solving , 2003, CAV.

[36]  Lu Yang,et al.  A complete discrimination system for polynomials , 1996 .

[37]  James H. Davenport,et al.  Real Quantifier Elimination is Doubly Exponential , 1988, J. Symb. Comput..

[38]  A. Tarski A Decision Method for Elementary Algebra and Geometry , 2023 .

[39]  Pravin Varaiya,et al.  What's decidable about hybrid automata? , 1995, STOC '95.

[40]  Robin Milner,et al.  Principal type-schemes for functional programs , 1982, POPL '82.

[41]  Toby Walsh,et al.  Automated Deduction—CADE-11 , 1992, Lecture Notes in Computer Science.

[42]  Pravin Varaiya,et al.  Decidability of Hybrid Systems with Rectangular Differential Inclusion , 1994, CAV.