Skip to main content
Log in

Reduction and Quantifier Elimination Techniques for Program Validation

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We study the automatic verification of programs with infinite or parameterized state space. This paper presents methods allowing the transformation of some second-order formulas expressing Hoare triples into equivalent formulas expressed in a weaker but decidable logic. Two techniques are considered: quantifier elimination and reduction to a finite domain. We illustrate these techniques on the validation of memory coherency protocols expressed in Unity.

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

Access this article

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. W. Ackermann, Solvable Cases of the Decision Problem, North-Holland, Amsterdam, 1968.

  2. J. Archibald and J.-L. Baer, “Cache coherence protocols: Evaluation using a multiprocessor simulation model,” ACM Transactions on Computer Systems, Vol. 4, No. 4, pp. 273–298, 1986.

    Google Scholar 

  3. J.-P. Bodeveix, D. Carrière, and M. Filali, “A refinement-based validation of a cache coherence protocol,” in 10th International Conference on Parallel and Distributed Computing Systems, New Orleans, Louisiana, USA, October 1997, ISCA, pp. 332–337.

  4. J.R. Burch, E.M. Clarke, K.L. McMillan, and D.L. Dill, “Symbolic model checking: 10E20 states and beyond,” in 5th Symposium on Logic in Computer Science, June 1990.

  5. K.M. Chandy and J. Misra, Parallel Program Design: A Foundation, Addison-Wesley, Reading, MA, 1988.

    Google Scholar 

  6. S. Crow, S. Owre, J. Rushby, N. Shankar, and S. Mandayam, “A tutorial introduction to PVS,” in Workshop on Industrial-Strength Formal Specification Techniques, Boca Raton, http://www.csl.sri.com/pvs, April 1995.

  7. E.W. Dijkstra, A Discipline of Programming, Prentice Hall, Englewood Cliffs NJ, 1976.

    Google Scholar 

  8. P. Doherty, W. Lukaszewicz, and A. Szalas, “Computing circumpscription revisited: A reduction algorithm,” Journal of Automated Reasonning, Vol. 10, pp. 1–42, 1995.

    Google Scholar 

  9. D. Gabbay and H.J. Ohlbach, “Quantifier elimination in second-order predicate logic,” Technical Report 94-231, MPI, July 1992.

  10. M.J.C. Gordon and T.F. Melham, Introduction to HOL, Cambridge University Press, Cambridge, UK, 1994.

    Google Scholar 

  11. J.G. Henriksen, J.L. Jensen, M.S. Jorgensen, N. Klarlund, R. Paige, T. Rauhe, and A.B. Sandholm, “Mona: Monadic second-order logic in practice,” in Workshop on Tools and Algorithms for the Construction and Analysis of Systems, May 1995, Aarhus, pp. 58–73.

  12. G.J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall, Englewood Cliffs, 1991.

    Google Scholar 

  13. L. Lamport, “How to make a multiprocessor that correctly executes multiprocess programs,” IEEE Transactions on Computers, Vol. 28, No. 9, pp. 690–691, 1979.

    Google Scholar 

  14. Z. Manna, A. Anuchitanukul, N. Bjorner, A. Browne, E. Chang, M. Colon, L. de Alfaro, H. Devarajan, H. Sipma, and T. Uribe, “STeP: The Stanford temporal prover,” Technical Report STAN-CS-TR-94-151, Stanford University, July 1994.

  15. P. Sainrat, A. Mzoughi, C. Rochange, and D. Litaize, “The design of the M3S project: A multiported shared memory multiprocessor,” in Supercomputing'92, November 1992.

  16. W. Thomas, “Automata on infinite objects,” in Handbook of Theoretical Computer Science, J.v. Leeuwen (Ed.), MIT Press, Cambridge, MA, 1990, pp. 133–192.

    Google Scholar 

  17. P. Wolper, “Expressing interesting properties of programs in propositional temporal logic,” in ACMSymposium on Principles of Programming Languages, January 1986, ACM (Ed.), pp. 184–193.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bodeveix, JP., Filali, M. Reduction and Quantifier Elimination Techniques for Program Validation. Formal Methods in System Design 20, 69–89 (2002). https://doi.org/10.1023/A:1012960513376

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1012960513376

Navigation