• DocumentCode
    3296151
  • 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
  • fYear
    2001
  • fDate
    2001
  • Firstpage
    192
  • Lastpage
    203
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Architecture, 2001. Proceedings. 28th Annual International Symposium on
  • Conference_Location
    Goteborg
  • ISSN
    1063-6897
  • Print_ISBN
    0-7695-1162-7
  • Type

    conf

  • DOI
    10.1109/ISCA.2001.937448
  • Filename
    937448