ACM Home Page
Please provide us with feedback. Feedback
Race analysis for SystemC using model checking
Full text PdfPdf (196 KB)
Source
International Conference on Computer Aided Design archive
Proceedings of the 2008 IEEE/ACM International Conference on Computer-Aided Design table of contents
San Jose, California
SESSION: System-level simulation table of contents
Pages 356-363  
Year of Publication: 2008
ISBN ~ ISSN:1092-3152 , 978-1-4244-2820-5
Authors
Nicolas Blanc  ETH Zurich, Switzerland
Daniel Kroening  Oxford University, Computing Laboratory, UK
Sponsors
: IEEE CASS/CANDE
: IEEE Council on Electronic Design Automation (CEDA)
SIGDA: ACM Special Interest Group on Design Automation
Publisher
IEEE Press  Piscataway, NJ, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 46,   Citation Count: 0
Additional Information:

abstract   references   collaborative colleagues  

Tools and Actions: Review this Article  

ABSTRACT

SystemC is a system-level modeling language that offers a wide range of features to describe concurrent systems at different levels of abstraction. The SystemC standard permits simulators to implement a deterministic scheduling policy, which often hides concurrency-related design flaws. We present a novel compiler for SystemC that integrates a formal and scalable race analysis. This analysis combines both classic static analysis and Model Checking techniques. The outcome of the analysis is not only valuable to diagnose the effect of race conditions, but can also be used to improve simulation performance dramatically. Our compiler produces a simulator that uses the race analysis information at runtime to perform partial-order reduction, thereby eliminating context switches that do not affect the result of the simulation. Experimental results show simulation speedups of one order of magnitude and better.


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
N. Blanc, D. Kroening, and N. Sharygina, "Scoot: A tool for the analysis of SystemC models," in TACAS. Springer, 2008.
 
2
E. Clarke, D. Kroening, N. Sharygina, and K. Yorav, "SATABS: SAT-based predicate abstraction for ANSI-C," in TACAS. Springer, 2005.
3
4
 
5
S. Savage, M. Burrows, G. Nelson, P. Sobalvarro, and T. Anderson, "Eraser: a dynamic data race detector for multithreaded programs," ACM, 1997.
6
7
 
8
V. D'Silva, D. Kroening, and G. Weissenbacher, "A survey of automated techniques for formal software verification," IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), vol. 27, no. 7, pp. 1165--1178, July 2008.
9
10
11
12
 
13
 
14
T. Ball and S. Rajamani, "Boolean programs: A model and process for software analysis," Microsoft Research, Tech. Rep., 2000.
 
15
16
17
18
 
19
20
 
21
C. Wang, Z. Yang, V. Kahlon, and A. Gupta, "Peephole partial order reduction," in TACAS, 2008.
 
22
 
23
 
24
 
25
 
26
 
27
Collaborative Colleagues:
Nicolas Blanc: colleagues
Daniel Kroening: colleagues