Verifying Safety of a Token Coherence Implementation by Parametric Compositional Refinement

Loading...
Thumbnail Image

Embargo Date

Related Collections

Degree type

Discipline

Subject

CPS Formal Methods

Funder

Grant number

License

Copyright date

Distributor

Related resources

Author

Burckhardt, Sebastian

Contributor

Abstract

We combine compositional reasoning and reachability analysis to formally verify the safety of a recent cache coherence protocol. The protocol is a detailed implementation of token coherence, an approach that decouples correctness and performance. First, we present a formal and abstract specification that captures the safety substrate of token coherence, and highlights the symmetry in states of the cache controllers and contents of the messages they exchange. Then, we prove that this abstract specification is coherent, and check whether the implementation proposed by the protocol designers is a refinement of the abstract specification. Our refinement proof is parametric in the number of cache controllers, and is compositional as it reduces the refinement checks to individual controllers using a specialized form of assume-guarantee reasoning. The individual refinement obligations are discharged using refinement maps and reachability analysis. While the formal proof justifies the intuitive claim by the designers about the ease of verifiability of token coherence, we report on several bugs in the implementation, and accompanying modifications, that were missed by extensive prior simulations.

Advisor

Date of presentation

2005-01-17

Conference name

Departmental Papers (CIS)

Conference dates

2023-05-16T22:31:45.000

Conference location

Date Range for Data Collection (Start Date)

Date Range for Data Collection (End Date)

Digital Object Identifier

Series name and number

Volume number

Issue number

Publisher

Publisher DOI

Journal Issues

Comments

From the 6th International Conference, VMCAI 2005, Paris, France, January 17-19, 2005.


Extended version of paper published in Lecture Notes in Computer Science, Volume 3385, Verification, Model Checking, and Abstract Interpretation, 2005, pages 130-145. Publisher URL: http://dx.doi.org/10.1007/b105073

Recommended citation

Collection