2021
DOI: 10.1145/3470569
|View full text |Cite
|
Sign up to set email alerts
|

The dogged pursuit of bug-free C programs

Abstract: A panoramic view of a popular platform for C program analysis and verification.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2

Citation Types

0
15
0
5

Year Published

2021
2021
2023
2023

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 41 publications
(20 citation statements)
references
References 5 publications
0
15
0
5
Order By: Relevance
“…We select 3 tools representing popular formal techniques currently used in the industry: KLEE [4] for symbolic execution [9] (bug finding), and Frama-C [1] with its EVA plug-in [30] for abstract interpretation [12], [31] (runtime error verification) and WP plug-in [32] for deductive verification [10], [11] (functional correctness).…”
Section: B Adequacy To Formal Verification Tools (Rq2 Rq3)mentioning
confidence: 99%
See 1 more Smart Citation
“…We select 3 tools representing popular formal techniques currently used in the industry: KLEE [4] for symbolic execution [9] (bug finding), and Frama-C [1] with its EVA plug-in [30] for abstract interpretation [12], [31] (runtime error verification) and WP plug-in [32] for deductive verification [10], [11] (functional correctness).…”
Section: B Adequacy To Formal Verification Tools (Rq2 Rq3)mentioning
confidence: 99%
“…Weakest precondition calculus. We use the deductive verification Frama-C plug-in WP [34], [32]. We take 12 assemblyoptimized functions (see details in Supplementary, Table IX): 6 excerpts from ffmpeg, GMP, libyuv, libgcrypt and UDPCast, 2 others adapted from optimized assembly snippets and 4 translated examples from ACSL by example [35].…”
Section: B Adequacy To Formal Verification Tools (Rq2 Rq3)mentioning
confidence: 99%
“…4.2]. This recent definition [6] covers the relevant aspects quite well, stating that "formal methods are a set of techniques based on logic, mathematics, and theoretical computer science which are used for specifying, developing, and verifying software and hardware systems." We slightly refine this notion, saying that, by a formal method, we refer to an explicit mathematical model and sound logical reasoning about critical properties [55]-such as reliability, safety, security, dependability, performance, uncertainty, or cost-of a class of electrical, electronic, and programmable electronic or software systems.…”
Section: Introductionmentioning
confidence: 99%
“…A manifesto can be understood as "a series of technical or expert views on a particular engineering task" [43], "a set of commitments" of a community [53], or "a focal point of reference" catalysing communities [7]. Inspired by successful similar efforts in other domains [7], 6 we summarise: A manifesto expresses consensual agreement among stakeholders (e.g., experts, thought leaders, users) in a domain, it is based on corresponding definitions, it concisely conveys guidance in terms of principles, it discloses aims and commitments in form of an appeal, it suggests actions, and it can join forces and, thus, initiate change.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation