Reducing Verification Complexity of a Multicore Coherence Protocol Using Assume/Guarantee
Xiaofang Chen, Yu Long Yang, Ganesh Lalitha Gopalakrishnan, Ching-Tsun Chou · 2006
We illustrate how to employ metacircular assume/guarantee reasoning to reduce the verification complexity of finite instances of protocols for safety, using nothing more than an explicit state model checker. The formal underpinnings of our method are based on establishing a simulation relation between the given protocol M, and several overapproximations thereof, Mtilde1,..., Mtildek. Each Mtildeisimulates M, and represents one "view" of it. The Mtildeis depend on each other both to define the abstractions as well as to justify them. We show that in case of our hierarchical coherence protocol, its designer could easily construct each of the Mtildeiin a counterexample guided manner. This approach is practical, considerably reduces the verification complexity, and has been successfully applied to a complex hierarchical multicore cache coherence protocol which could not be verified through traditional model checking