Race analysis for systemC using model checking

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...

Olles dieđut

Bibliográfalaš dieđut
Váldodahkkit: Blanc, N, Kroening, D
Materiálatiipa: Journal article
Almmustuhtton: Association for Computing Machinery 2010
_version_ 1826264871222640640
author Blanc, N
Kroening, D
author_facet Blanc, N
Kroening, D
author_sort Blanc, N
collection OXFORD
description 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.
first_indexed 2024-03-06T20:14:48Z
format Journal article
id oxford-uuid:2bc57cf4-ee8f-441a-8cdb-a563fd5eb2d6
institution University of Oxford
last_indexed 2024-03-06T20:14:48Z
publishDate 2010
publisher Association for Computing Machinery
record_format dspace
spelling oxford-uuid:2bc57cf4-ee8f-441a-8cdb-a563fd5eb2d62022-03-26T12:33:04ZRace analysis for systemC using model checkingJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:2bc57cf4-ee8f-441a-8cdb-a563fd5eb2d6Symplectic Elements at OxfordAssociation for Computing Machinery2010Blanc, NKroening, DSystemC 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.
spellingShingle Blanc, N
Kroening, D
Race analysis for systemC using model checking
title Race analysis for systemC using model checking
title_full Race analysis for systemC using model checking
title_fullStr Race analysis for systemC using model checking
title_full_unstemmed Race analysis for systemC using model checking
title_short Race analysis for systemC using model checking
title_sort race analysis for systemc using model checking
work_keys_str_mv AT blancn raceanalysisforsystemcusingmodelchecking
AT kroeningd raceanalysisforsystemcusingmodelchecking