This paper introduces a technique for modelling and verifying weak memory C11 programs in the Event-B framework. We build on a recently developed operational semantics for the RAR fragment of C11, which we use as a top-level abstraction. In our technique, a concrete C11 program can be modelled by refining this abstract model of the semantics. Program structures and individual operations are then introduced in the refined machine and can be checked and verified using available Event-B provers and model checkers. The paper also discusses how ProB model checker can be used to validate the Event-B model of C11 programs. We applied our technique to the C11 implementation of Peterson’s algorithm, where we discovered that the standard invariant us...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the ap...
Weak memory models formalize the unexpected behavior that one can expect to observe in multi-threade...
This paper introduces a technique for modelling and verifying weak memory C11 programs in the Event...
This paper develops an operational semantics for a release-acquire fragment of the C11 memory model ...
This abstract introduces the C11 weak memory model, summarises known verification results, and discu...
Owicki-Gries reasoning for concurrent programs uses Hoare logic together with an interference freedo...
Deductive verification techniques for C11 programs have advanced significantly in recent years with ...
Weak memory presents a new challenge for program verification and has resulted in the development of...
Abstract. We show that even in the absence of auxiliary variables, the well-known Owicki-Gries metho...
Les multiprocesseurs et microprocesseurs multicœurs modernes mettent en oeuvre des modèles mémoires ...
Weak memory models formalize the inconsistent behaviors that one can expect to observe in multithrea...
International audienceCollaboration of verification methods is crucial to tackle the challenging pro...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the ap...
Weak memory models formalize the unexpected behavior that one can expect to observe in multi-threade...
This paper introduces a technique for modelling and verifying weak memory C11 programs in the Event...
This paper develops an operational semantics for a release-acquire fragment of the C11 memory model ...
This abstract introduces the C11 weak memory model, summarises known verification results, and discu...
Owicki-Gries reasoning for concurrent programs uses Hoare logic together with an interference freedo...
Deductive verification techniques for C11 programs have advanced significantly in recent years with ...
Weak memory presents a new challenge for program verification and has resulted in the development of...
Abstract. We show that even in the absence of auxiliary variables, the well-known Owicki-Gries metho...
Les multiprocesseurs et microprocesseurs multicœurs modernes mettent en oeuvre des modèles mémoires ...
Weak memory models formalize the inconsistent behaviors that one can expect to observe in multithrea...
International audienceCollaboration of verification methods is crucial to tackle the challenging pro...
Abstract. Many multithreaded programs employ concurrent data types to safely share data among thread...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
Concurrency libraries can facilitate the development of multi-threaded programs by providing concurr...
Modern multiprocessors and microprocesseurs implement weak or relaxed memory models, in which the ap...
Weak memory models formalize the unexpected behavior that one can expect to observe in multi-threade...