2003
DOI: 10.21236/ada461052
|View full text |Cite
|
Sign up to set email alerts
|

Behavioral Consistency of C and Verilog Programs Using Bounded Model Checking

Abstract: We present an algorithm that checks behavioral consistency between an ANSI-C program and a circuit given in Verilog using Bounded Model Checking. Both the circuit and the program are unwound and translated into a formula that is satisfiable if and only if the circuit and the code disagree. The formula is then checked using a SAT solver. We are able to translate C programs that make use of side effects, pointers, dynamic memory allocation, and loops with conditions that cannot be evaluated statically. We descri… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
10
0

Year Published

2005
2005
2022
2022

Publication Types

Select...
3
3
1

Relationship

0
7

Authors

Journals

citations
Cited by 65 publications
(10 citation statements)
references
References 2 publications
0
10
0
Order By: Relevance
“…This logico-deductive approach has tremendous appeal in programming languages research, as it holds the promise of proving facts and properties of the program. Many elegant and powerful abstractions, definitions, algorithms, and proof techniques have been developed, which have led to important practical tools for program verification, bug finding, and refactoring [24,42,45]. It should be emphasized that these are theory-first approaches.…”
Section: Introductionmentioning
confidence: 99%
“…This logico-deductive approach has tremendous appeal in programming languages research, as it holds the promise of proving facts and properties of the program. Many elegant and powerful abstractions, definitions, algorithms, and proof techniques have been developed, which have led to important practical tools for program verification, bug finding, and refactoring [24,42,45]. It should be emphasized that these are theory-first approaches.…”
Section: Introductionmentioning
confidence: 99%
“…One type of verification tools can directly verify C programs. For example, CBMC [21,22] and its extensions such as ESBMC [23] verify C programs by using bounded model checking. They support the standard ANSI-C programming language with several extensions including some dialects for embedded systems.…”
mentioning
confidence: 99%
“…The absence of memory holes can be verified by asserting that the active bits are false at program termination. We provide the full details in [6].…”
Section: Dynamic Memory Allocationmentioning
confidence: 99%
“…Due to space limitations, we are not able to present this here. The interested reader may refer to [6].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation