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.
Similar content being viewed by others
References
W. Ackermann, Solvable Cases of the Decision Problem, North-Holland, Amsterdam, 1968.
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.
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.
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.
K.M. Chandy and J. Misra, Parallel Program Design: A Foundation, Addison-Wesley, Reading, MA, 1988.
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.
E.W. Dijkstra, A Discipline of Programming, Prentice Hall, Englewood Cliffs NJ, 1976.
P. Doherty, W. Lukaszewicz, and A. Szalas, “Computing circumpscription revisited: A reduction algorithm,” Journal of Automated Reasonning, Vol. 10, pp. 1–42, 1995.
D. Gabbay and H.J. Ohlbach, “Quantifier elimination in second-order predicate logic,” Technical Report 94-231, MPI, July 1992.
M.J.C. Gordon and T.F. Melham, Introduction to HOL, Cambridge University Press, Cambridge, UK, 1994.
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.
G.J. Holzmann, Design and Validation of Computer Protocols, Prentice Hall, Englewood Cliffs, 1991.
L. Lamport, “How to make a multiprocessor that correctly executes multiprocess programs,” IEEE Transactions on Computers, Vol. 28, No. 9, pp. 690–691, 1979.
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.
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.
W. Thomas, “Automata on infinite objects,” in Handbook of Theoretical Computer Science, J.v. Leeuwen (Ed.), MIT Press, Cambridge, MA, 1990, pp. 133–192.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1012960513376