2013
DOI: 10.1007/978-3-642-38856-9_18
|View full text |Cite
|
Sign up to set email alerts
|

Formal Verification of a C Value Analysis Based on Abstract Interpretation

Abstract: Abstract. Static analyzers based on abstract interpretation are complex pieces of software implementing delicate algorithms. Even if static analysis techniques are well understood, their implementation on real languages is still error-prone. This paper presents a formal verification using the Coq proof assistant: a formalization of a value analysis (based on abstract interpretation), and a soundness proof of the value analysis. The formalization relies on generic interfaces. The mechanized proof is facilitated… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
50
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
5
1

Relationship

3
3

Authors

Journals

citations
Cited by 31 publications
(50 citation statements)
references
References 28 publications
(39 reference statements)
0
50
0
Order By: Relevance
“…A value analysis is usually based on abstract interpretation and uses widening and narrowing operators to speed up fixpoint resolution. The formal verification of a value analysis based on abstract interpretation and operating over a real-world language raises many challenging verification problems that are detailed in [7].…”
Section: Overviewmentioning
confidence: 99%
See 1 more Smart Citation
“…A value analysis is usually based on abstract interpretation and uses widening and narrowing operators to speed up fixpoint resolution. The formal verification of a value analysis based on abstract interpretation and operating over a real-world language raises many challenging verification problems that are detailed in [7].…”
Section: Overviewmentioning
confidence: 99%
“…the estimated values (represented by an interval) of the program variables. Thus, given a program P and a vertex l, value(P )(l) yields a map such that for any variable x, value(P )(l)(x) is an interval Our formally verified value analysis is detailed in [7].…”
Section: Bounding Local Countersmentioning
confidence: 99%
“…An abstract memory domain is a carrier type along with some primitive operators whose signatures are given in Figure 4. The ab_num type refers to a numeric abstract domain, as described in [3]: we only require that this type is equipped with a concretization to sets of machine integers and abstract transformers corresponding to arithmetic operations.…”
Section: Abstract Interpretermentioning
confidence: 99%
“…In a previous work [3], we formally verified a value analysis for an intermediate language of the Compcert C compiler toolchain. The current work shares the same notion of abstract numerical domain but develops its own notion of memory abstraction, dynamic control-flow graph reconstruction and trace partitioning.…”
Section: A Third Extension: Abstract Decodingmentioning
confidence: 99%
See 1 more Smart Citation