Title :
A simple method for extracting models from protocol code
Author :
Lie, David ; Chou, Andy ; Engler, Dawson ; Dill, David L.
Author_Institution :
Comput. Syst. Lab., Stanford Univ., CA, USA
Abstract :
The use of model checking for validation requires that models of the underlying system be created. Creating such models is both difficult and error prone and as a result, verification is rarely used despite its advantages. In this paper we present a method for automatically extracting models from low level software implementations. Our method is based on the use of an extensible compiler system, xg++, to perform the extraction. The extracted model is combined with a model of the hardware, a description of correctness, and an initial state. The whole model is then checked with the Murφ model checker. As a case study, we apply our method to the cache coherence protocols of the Stanford FLASH multiprocessor. Our system has a number of advantages. First, it reduces the cost of creating models, which allows model checking to be used more frequently. Second, it increases the effectiveness of model checking since the automatically extracted models are more accurate and faithful to the underlying implementation. We found a total of 8 errors using our system. Two errors were global resource errors, which would be difficult to find through any other means. We feel the approach is applicable to other low level systems
Keywords :
formal verification; memory protocols; multiprocessing systems; performance evaluation; program compilers; Murφ model checker; Stanford FLASH multiprocessor; cache coherence protocols; extensible compiler system; global resource errors; model checking; protocol code; software implementations; validation; verification; xg++; Coherence; Computer bugs; Computer errors; Costs; Electronic mail; Formal verification; Hardware; Laboratories; Protocols; Testing;
Conference_Titel :
Computer Architecture, 2001. Proceedings. 28th Annual International Symposium on
Conference_Location :
Goteborg
Print_ISBN :
0-7695-1162-7
DOI :
10.1109/ISCA.2001.937448