Abstract
We present a technique for checking aggregation abstractions automatically using a finite-state enumerator. The abstraction relation between implementation and specification is checked on-the-fly and the verification requires examining no more states than checking a simple invariant property. This technique can be used alone for verification of finite-state protocols, or as preparation for a more general aggregation proof using a general-purpose theorem-prover. We illustrate the technique on the cache coherence protocol in the Flash multiprocessor system.
Chapter PDF
Similar content being viewed by others
Keywords
References
Martin Abadi and Leslie Lamport. The existence of refinement mappings.Theoretical Computer Science, 82: 253–284, 1991.
Randal Bryant. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers,C-35(8), 1986.
E.M. Clarke, E A Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8 (2), April 1986.
R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench. In Proc. of the Workshop on Automatic Verification Methods for Finite State Systems, June 1989.
Rance Cleaveland and Steve Sims. The NCSU Concurrency Workbench. In Computer Aided Verification, 8th International Conference, CAV’96, pages 394–397. Springer-Verlag, 1996.
J. de Bakker, W. de Roever, and G. Rozenberg, editors. Stepwise Refinement of Distributed Systems. Models, Formalisms, Correctness: LNCS.80. Springer-Verlag, 1990.
D. Dill, A. Hu, and H. Wong-Toi. Checking for language inclusion using simulation relation. In Computer Aided Verification, 3rd International Workshop, pages 255–265, July 1991.
David L. Dill. The Muni) verification system. In Computer Aided Verification, 8th International Conference, CAV’96, pages 390–393. Springer-Verlag, July 1996.
Susanne Graf. Verification of a distributed cache memory by using abstractions. In 6th International Conference on Computer-Aided Verification, pages 207219, 1994.
Susanne Graf and Claire Loiseaux. A tool for symbolic program verification and abstraction. In 5th International Conference on Computer-Aided Verification, pages 71–84, 1993.
Klaus Havelund and N. Shankar. Experiments in theorem proving and model checking for protocol verification. In Formal Methods Europe FME ‘86, pages 662–681, March 1996.
Mark Heinrich. The FLASH Protocol. Internal document, Stanford University FLASH Group, 1993.
Alan John Hu. Techniques for Efficient Formal Verification Using Binary Decision Diagrams, chapter 4 on `BDD Blow-Up Representing Sets of States’, pages 41–49. Stanford University, December 1995. Ph.D. Thesis.
C. Norris Ip and David L. Dill. Verifying systems with replicated components in Murcp. In 8th International Conference on Computer-Aided Verification, pages 147–158, 1996.
Chung-Wah Norris Ip. State Reduction Methods for Automatic Formal Verification. PhD thesis, Stanford University, December 1996.
Robert Kurshan. Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton, 1994.
J. Kuskin, D. Ofelt, M. Heinrich, J. Heinlein, R. Simoni, K. Gharachorloo, J. Chapin, D. Nakahira, J. Baxter, M. Horowitz, A. Gupta, M. Rosenblum, and J. Hennessy. The Stanford FLASH multiprocessor. In Proc. 21st International Symposium on Computer Architecture, pages 302–313, April 1994.
S. Lam and A. Shankar. Protocol verification via projection. IEEE Transactions on Software Engineering, 10 (4): 325–342, July 1984.
Leslie Lamport. The temporal logic of actions. ACM TOPLAS, 16 (3): 872–923, May 1994.
David Long. Model Checking, Abstraction and Compositional Verification. PhD thesis, Carnegie Mellon University, July 1993.
N. Lynch. I/O automata: A model for discrete event systems. In 22nd Annual Conference on Information Science and Systems, March 1988. Princeton University.
Ken McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993. Boston.
R. Milner. An algebraic definition of simulation between programs. In Proc. of the 2nd International Joint Conference on Artificial Intellegence, pages 481–489, 1971.
Seungjoon Park. Computer Assisted Analysis of Multiprocessor Memory Systems. PhD thesis, Stanford University, June 1996.
Seungjoon Park and David L. Dill. Protocol verification by aggregation of distributed transactions. In Computer Aided Verification, 8th International Conference, CAV’96, pages 300–310. Springer-Verlag, July 1996.
Seungjoon Park and David L. Dill. Verification of FLASH cache coherence protocol by aggregation of distributed transactions. In Proc. 8th ACM Symposium on Parallel Algorithms and Architectures, pages 288–296, June 1996.
Ulrich Stern and David L. Dill. Parallelizing the Murcp verifier. In Computer Aided Verification, 9th International Conference, CAV’97. Springer-Verlag, June 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer Science+Business Media Dordrecht
About this chapter
Cite this chapter
Park, S., Das, S., Dill, D.L. (1997). Automatic Checking of Aggregation Abstractions Through State Enumeration. In: Mizuno, T., Shiratori, N., Higashino, T., Togashi, A. (eds) Formal Description Techniques and Protocol Specification, Testing and Verification. IFIP — The International Federation for Information Processing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35271-8_13
Download citation
DOI: https://doi.org/10.1007/978-0-387-35271-8_13
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-5260-1
Online ISBN: 978-0-387-35271-8
eBook Packages: Springer Book Archive