Verifying sequentially consistent memory

In distributed shared memory architectures, memory usually obeys weaker constraints than that of ordinary memory in (cache-less) single processor systems. One popular weakening is that of sequential consistency. Proving that a memory is sequentialy consistent does not easily fit the standard refinement and verification strategies. This paper takes a sequential consistent memory-the lazy caching protocol-and verifies it using a number of verification approaches. In almost all cases, existing approaches have to be generalized first.

[1]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[2]  Bengt Jonsson,et al.  Modular verification of asynchronous networks , 1987, PODC '87.

[3]  A. Udaya Shankar,et al.  Refinement and Projection of Relational Specifications , 1990, REX Workshop.

[4]  Jean-Pierre Banâtre,et al.  Parallel Program Design , 1991, Research Directions in High-Level Parallel Programming Languages.

[5]  Ed Brinksma On the Uniqueness of Fixpoints Modulo Observation Congruence , 1992, CONCUR.

[6]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[7]  Jan A. Bergstra,et al.  Axiomatizing Probabilistic Processes: ACP with Generative Probabilities , 1995, Inf. Comput..

[8]  Doron A. Peled,et al.  Interleaving set temporal logic , 1987, PODC '87.

[9]  Haim Gaifman,et al.  Modeling concurrency by partial orders and nonlinear transition systems , 1988, REX Workshop.

[10]  Orna Grumberg,et al.  The Modular Framework of Computer-Aided Verification , 1990, CAV.

[11]  Job Zwiers,et al.  Partial Order Based Design of Concurrent Systems , 1993, REX School/Symposium.

[12]  Zohar Manna,et al.  Temporal Verification of Reactive Systems , 1995, Springer New York.

[13]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

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

[15]  Claire Loiseaux Verification symbolique de programmes reactifs a l'aide d'abstractions , 1994 .

[16]  Kim G. Larsen,et al.  Compositional Theories Based on an Operational Semantics of Contexts , 1989, REX Workshop.

[17]  Rc Roland Backhouse Calculating the Warshall/Floyd path algorithm , 1992 .

[18]  Bengt Jonsson,et al.  A model and proof system for asynchronous networks , 1985, PODC '85.

[19]  Carel S. Scholten,et al.  Point-free Substitution , 1996, Sci. Comput. Program..

[20]  Leslie Lamport,et al.  Artificial Intelligence and Language Processing ]acques Cohen Editor a Simple Approach to Specifying Concurrent Systems , 2022 .

[21]  J. Zwiers,et al.  Assertional Data Reification Proofs: Survey and Perspective , 1991 .

[22]  Erik Poll,et al.  Some categorical properties for a model for second order lambda calculus with subtyping , 1991 .

[23]  Eugene W. Stark Proving Entailment Between Conceptual State Specifications , 1988, Theor. Comput. Sci..

[24]  Dennis Shasha,et al.  Efficient and correct execution of parallel programs that share memory , 1988, TOPL.

[25]  Antoni W. Mazurkiewicz,et al.  Basic notions of trace theory , 1988, REX Workshop.

[26]  Yehuda Afek,et al.  Lazy caching , 1993, TOPL.

[27]  Bengt Jonsson Simulations Between Specifications of Distributed Systems , 1991, CONCUR.

[28]  Amir Pnueli,et al.  Proving Partial Order Liveness Properties , 1990, ICALP.

[29]  L. D. J. C. Loyens,et al.  ILIAS : a sequential language for parallel matrix computations , 1993 .

[30]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[31]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[32]  Fairouz Kamareddine,et al.  Non well-foundedness and type freeness can unify the interpretation of functional application , 1992 .

[33]  Anoop Gupta,et al.  Programming for Different Memory Consistency Models , 1992, J. Parallel Distributed Comput..

[34]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[35]  Edmund M. Clarke,et al.  Model checking, abstraction, and compositional verification , 1993 .

[36]  Gerard Zwaan,et al.  A taxonomy of keyword pattern matching algorithms , 1992 .

[37]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[38]  Robert P. Kurshan,et al.  Analysis of Discrete Event Coordination , 1989, REX Workshop.

[39]  Claire Loiseaux,et al.  A Tool for Symbolic Program Verification and Abstration , 1993, CAV.

[40]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[41]  C. W. A. M. van Overveld,et al.  Stars or Stripes: a comparative study of finite and transfinite techniques for surface modelling , 1994 .

[42]  Dick Alstein,et al.  Distributed consensus and hard real-time systems , 1994 .

[43]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[44]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[45]  Doron A. Peled,et al.  Defining Conditional Independence Using Collapses , 1992, Theor. Comput. Sci..

[46]  Nissim Francez,et al.  Decomposition of Distributed Programs into Communication-Closed Layers , 1982, Sci. Comput. Program..

[47]  Tommaso Bolognesi,et al.  Tableau methods to describe strong bisimilarity on LOTOS processes involving pure interleaving and enabling , 1994, FORTE.

[48]  Bengt Jonsson,et al.  Refining Interfaces of Communicating Systems , 1991, TAPSOFT, Vol.2.

[49]  Fredrik Orava,et al.  Verifying Safety and Deadlock Properties of Networks of Asynchronously Communicating Processes , 1989, PSTV.

[50]  Jos C. M. Baeten,et al.  A Congruence Theorem for Structured Operational Semantics with Predicates , 1993, CONCUR.

[51]  David Mosberger,et al.  Memory consistency models , 1993, OPSR.

[52]  Fairouz Kamareddine,et al.  A System at the Cross-Roads of Functional and Logic Programming , 1992, Sci. Comput. Program..

[53]  Anoop Gupta,et al.  The Stanford Dash multiprocessor , 1992, Computer.

[54]  van Km Kees Hee,et al.  Systems engineering : a formal approach. Part I. System concepts , 1993 .

[55]  A. Udaya Shankar,et al.  An HDLC protocol specification and its verification using image protocols , 1983, TOCS.

[56]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, ISCA '90.

[57]  Amir Pnueli,et al.  In Transition From Global to Modular Temporal Reasoning about Programs , 1989, Logics and Models of Concurrent Systems.

[58]  C. A. R. Hoare,et al.  Prespecification in Data Refinement , 1987, Inf. Process. Lett..

[59]  P. D. Moerland,et al.  Exercises in multiprogramming , 1993 .