Verifying Safety of a Token Coherence Implementation by Parametric Compositional Refinement
Verifying Safety of a Token Coherence Implementation by Parametric Compositional Refinement
复制标题
通过参数组合细化验证令牌一致性实现的安全性
DOI:
10.1007/978-3-540-30579-8_9
复制
发表时间:
2005
期刊:
影响因子:
--
通讯作者:
Milo M. K. Martin
中科院分区:
文献类型:
--
作者:
S. Burckhardt;R. Alur;Milo M. K. Martin
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.