2019
DOI: 10.1007/978-3-030-25540-4_22
|View full text |Cite
|
Sign up to set email alerts
|

Cerberus-BMC: A Principled Reference Semantics and Exploration Tool for Concurrent and Sequential C

Abstract: C remains central to our infrastructure, making verification of C code an essential and much-researched topic, but the semantics of C is remarkably complex, and important aspects of it are still unsettled, leaving programmers and verification tool builders on shaky ground. This paper describes a tool, Cerberus-BMC, that for the first time provides a principled reference semantics that simultaneously supports (1) a choice of concurrency memory model (including substantial fragments of the C11, RC11, and Linux k… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
4
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
3
3
1

Relationship

1
6

Authors

Journals

citations
Cited by 9 publications
(4 citation statements)
references
References 29 publications
0
4
0
Order By: Relevance
“…We note that the difficulties that arise in the attempt to formalise the C memory model stem from the tension between well-established compiler transformations as well as the need to support a multitude of hardware-level memory models seamlessly versus the well-known intricacies of programming correct shared-variable algorithms [48]. This will be an ongoing balancing act that involves many competing factors, especially and including efficiency, and, increasingly, safety and security [50]; if we were to take a position, it would be that sections of code -hopefully, relatively small and localised -can be protected from arbitrary transformations from compiler theory and practice.…”
Section: Discussionmentioning
confidence: 99%
“…We note that the difficulties that arise in the attempt to formalise the C memory model stem from the tension between well-established compiler transformations as well as the need to support a multitude of hardware-level memory models seamlessly versus the well-known intricacies of programming correct shared-variable algorithms [48]. This will be an ongoing balancing act that involves many competing factors, especially and including efficiency, and, increasingly, safety and security [50]; if we were to take a position, it would be that sections of code -hopefully, relatively small and localised -can be protected from arbitrary transformations from compiler theory and practice.…”
Section: Discussionmentioning
confidence: 99%
“…Figure 2 shows the web interface we have developed for our tool, based on the web interface for the C memory model tool Cerberus-BMC by Lau et al [16]. This can either be run locally, or via a website, https://isla-axiomatic.cl.cam.ac.…”
Section: Web Interfacementioning
confidence: 99%
“…Relation analysis improves the performance up to two orders of magnitude [4,5]. We remark that related approaches represent each candidate execution explicitly [1,6]. Thanks to the symbolic representation of executions and static analysis techniques such as relation analysis, Dartagnan is often more efficient [4,5].…”
Section: Overview and Software Architecturementioning
confidence: 99%