Race Analysis for SystemC Using Model Checking

被引:29
|
作者
Blanc, Nicolas [1 ]
Kroening, Daniel [2 ]
机构
[1] ETH, CH-8092 Zurich, Switzerland
[2] Univ Oxford, Oxford OX1 2JD, England
基金
英国工程与自然科学研究理事会;
关键词
Algorithms; Verification; SystemC; simulation; partial-order reduction; model checking; formal analysis;
D O I
10.1145/1754405.1754406
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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 very precise formal race analysis by means of model checking. Our compiler produces a simulator that uses the outcome of the analysis to perform partial order reduction. The key insight to make the model checking engine scale is to apply it only to tiny fractions of the SystemC model. We show that the outcome of the analysis is not only valuable to eliminate redundant context switches at runtime, but can also be used to diagnose race conditions statically. In particular, our analysis is able to reveal races that can remain undetected during simulation and is able to formally prove the absence of races.
引用
收藏
页数:32
相关论文
共 50 条
  • [1] Software Model Checking SystemC
    Cimatti, Alessandro
    Narasamdya, Iman
    Roveri, Marco
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2013, 32 (05) : 774 - 787
  • [2] Speeding Up Simulation of SystemC Using Model Checking
    Blanc, Nicolas
    Kroening, Daniel
    [J]. FORMAL METHODS: FOUNDATIONS AND APPLICATIONS, 2009, 5902 : 1 - +
  • [3] Statistical Model Checking for SystemC Models
    Van Chan Ngo
    Legay, Axel
    Quilbeuf, Jean
    [J]. 2016 IEEE 17TH INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING (HASE), 2016, : 197 - 204
  • [4] Symbolic Model Checking on SystemC Designs
    Chou, Chun-Nan
    Ho, Yen-Sheng
    Hsieh, Chiao
    Huang, Chung-Yang
    [J]. 2012 49TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2012, : 327 - 333
  • [5] Safe Integration of Learning in SystemC using Timed Contracts and Model Checking
    Blohm, Pauline
    Adelt, Julius
    Herber, Paula
    [J]. 2023 21ST ACM-IEEE INTERNATIONAL SYMPOSIUM ON FORMAL METHODS AND MODELS FOR SYSTEM DESIGN, MEMOCODE, 2023, : 12 - 22
  • [6] An Effective Approach for Model Checking SystemC Designs
    Behjati, Razieh
    Sabouri, Hamideh
    Razavi, Niloofar
    Sirjani, Marjan
    [J]. 2008 8TH INTERNATIONAL CONFERENCE ON APPLICATION OF CONCURRENCY TO SYSTEM DESIGN, PROCEEDINGS, 2008, : 56 - 61
  • [7] Formal verification of probabilistic SystemC models with statistical model checking
    Van Chan Ngo
    Legay, Axel
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2018, 30 (03)
  • [8] Software model checking for resources race
    Hong Wang
    Tao Zhang
    [J]. Cluster Computing, 2017, 20 : 179 - 193
  • [9] Software model checking for resources race
    Wang, Hong
    Zhang, Tao
    [J]. CLUSTER COMPUTING-THE JOURNAL OF NETWORKS SOFTWARE TOOLS AND APPLICATIONS, 2017, 20 (01): : 179 - 193
  • [10] Checking temporal properties in SystemC specifications
    Braun, A
    Gerlach, J
    Rosenstiel, W
    [J]. SEVENTH IEEE INTERNATIONAL HIGH-LEVEL DESIGN VALIDATION AND TEST WORKSHOP, PROCEEDINGS, 2002, : 23 - 27