• DocumentCode
    3487111
  • Title

    Race analysis for SystemC using model checking

  • Author

    Blanc, Nicolas ; Kroening, Daniel

  • Author_Institution
    ETH Zurich, Zurich
  • fYear
    2008
  • fDate
    10-13 Nov. 2008
  • Firstpage
    356
  • Lastpage
    363
  • 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.
  • Keywords
    C language; object-oriented languages; program verification; scheduling; SystemC; deterministic scheduling policy; formal race analysis; model checking; scalable race analysis; system-level modeling language; Analytical models; Computational modeling; Concurrent computing; Context modeling; Interleaved codes; Job shop scheduling; Performance analysis; Processor scheduling; Runtime; Yarn;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer-Aided Design, 2008. ICCAD 2008. IEEE/ACM International Conference on
  • Conference_Location
    San Jose, CA
  • ISSN
    1092-3152
  • Print_ISBN
    978-1-4244-2819-9
  • Electronic_ISBN
    1092-3152
  • Type

    conf

  • DOI
    10.1109/ICCAD.2008.4681598
  • Filename
    4681598