ACM Home Page
Please provide us with feedback. Feedback
A simple method for extracting models for protocol code
Full text PdfPdf (923 KB)
Source International Symposium on Computer Architecture archive
Proceedings of the 28th annual international symposium on Computer architecture table of contents
Göteborg, Sweden
Pages: 192 - 203  
Year of Publication: 2001
ISBN:0-7695-1162-7
Also published in ...
Authors
David Lie  Computer Systems Laboratory, Stanford University, Stanford, CA
Andy Chou  Computer Systems Laboratory, Stanford University, Stanford, CA
Dawson Engler  Computer Systems Laboratory, Stanford University, Stanford, CA
David L. Dill  Computer Systems Laboratory, Stanford University, Stanford, CA
Sponsors
SIGARCH: ACM Special Interest Group on Computer Architecture
IEEE-CS\TCCA : TC on Computer Arhitecture
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 14,   Downloads (12 Months): 34,   Citation Count: 8
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/379240.379263
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
 
3
T. Ball and S. K. Rajamani. Checking temporal properties of software with boolean programs. In Proc. of the Workshop on Advances in Verification (with CAV 2000), 2000.
 
4
 
5
S. Chiba. Open C++ programmer's guide. Technical Report TR93-93-3, Dept. of information science, University of Tokyo, 1993.
6
7
8
 
9
R. E Crew. ASTLOG: A language for examining abstract syntax trees. In Proc. of the First Conf. on Domain Specific Languages, pages 229-242, Oct. 1997.
 
10
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In Proc. of the 4th Symp. on Operating Systems Design and Implementation (OSDI 2000), pages 23- 25, Sept. 2000.
 
11
12
 
13
 
14
15
 
16
T. Lord. Application specific static code checking for C programs: Ctool. In -twaddle: A Digital Zine (version 1.0), 1997.
 
17
K. McMillan and J. Schwalbe. Formal verification of the gigamax cache consistency protocol. In Proc. of the Intl. Syrup. on Shared Memory Multiprocessing ( ISSMM91), pages 242-251. Tokyo, Japan Inf. Process. Soc., 1991.
 
18
G. Nelson. Techniques f or program verification. Available as Xerox PARC Research Report CSL-81-10, June, 1981, Stanford University, 1981.
19
20
 
21
 
22
E Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3): 121-189, September 1995.
 
23
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352-357, July 1984.

CITED BY  8

Collaborative Colleagues:
David Lie: colleagues
Andy Chou: colleagues
Dawson Engler: colleagues
David L. Dill: colleagues