Results 1 - 10
of
50
CompCert – A Formally Verified Optimizing Compiler
"... CompCert is the first commercially available optimiz-ing compiler that is formally verified, using machine-assisted mathematical proofs, to be exempt from mis-compilation. The executable code it produces is proved to behave exactly as specified by the semantics of the source C program. This article ..."
Abstract
- Add to MetaCart
CompCert is the first commercially available optimiz-ing compiler that is formally verified, using machine-assisted mathematical proofs, to be exempt from mis-compilation. The executable code it produces is proved to behave exactly as specified by the semantics of the source C program. This article
Formal verification of a realistic compiler
- Communications of the ACM
"... This paper reports on the development and formal verification (proof of semantic preservation) of CompCert, a compiler from Clight (a large subset of the C programming language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness. ..."
Abstract
-
Cited by 179 (18 self)
- Add to MetaCart
This paper reports on the development and formal verification (proof of semantic preservation) of CompCert, a compiler from Clight (a large subset of the C programming language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness
Formal Verification of an SSA-based Middle-end for CompCert
"... CompCert is a formally verified compiler that generates compact and efficient code for a large subset of the C language. However, CompCert foregoes using SSA, an intermediate representation employed by many compilers that enables writing simpler, faster optimizers. In fact, it has remained an open p ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
CompCert is a formally verified compiler that generates compact and efficient code for a large subset of the C language. However, CompCert foregoes using SSA, an intermediate representation employed by many compilers that enables writing simpler, faster optimizers. In fact, it has remained an open
A Formally-Verified C Compiler Supporting Floating-Point Arithmetic
, 2012
"... Abstract—Floating-point arithmetic is known to be tricky: roundings, formats, exceptional values. The IEEE-754 standard was a push towards straightening the field and made formal reasoning about floating-point computations possible. Unfortunately, this is not sufficient to guarantee the final result ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
platforms (ARM, PowerPC, x86-SSE2), and with a proof that compilation preserves semantics. In this paper, we report on our recent success in formally specifying and proving correct CompCert’s compilation of floating-point arithmetic. Since CompCert is verified using the Coq proof assistant, this effort
A Formally-Verified C Compiler Supporting Floating-Point Arithmetic
"... Abstract—Floating-point arithmetic is known to be tricky: roundings, formats, exceptional values. The IEEE-754 standard was a push towards straightening the field and made formal reasoning about floating-point computations easier and flour-ishing. Unfortunately, this is not sufficient to guarantee t ..."
Abstract
- Add to MetaCart
C90) and target platforms (ARM, PowerPC, x86-SSE2), and with a proof that compilation preserves semantics. In this paper, we report on our recent success in formally specifying and proving correct CompCert’s compilation of floating-point arithmetic. Since CompCert is verified using the Coq proof
1 A Formally-Verified C Compiler Supporting Floating-Point Arithmetic
"... towards straightening the field and made formal reasoning about floating-point computations easier and flourishing. Unfortunately, this is not sufficient to guarantee the final result of a program, as several other actors are involved: programming language, compiler, architecture. The CompCert forma ..."
Abstract
- Add to MetaCart
report on our recent success in formally specifying and proving correct CompCert’s compilation of floating-point arithmetic. Since CompCert is verified using the Coq proof assistant, this effort required a suitable Coq formalization of the IEEE-754 standard; we extended the Flocq library for this purpose
Field-Sensitive Pointer Analysis for C Programs with Integer/Pointer Conversions
"... ABSTRACT We present a field-sensitive pointer analysis algorithm for C in the presence of type conversion between integer and pointer. While field-sensitive analysis can give precise solution, it is notoriously difficult to design a correct analysis which handles all low-level dirty features of C. ..."
Abstract
- Add to MetaCart
semantics which incorporates all low-level features of C and show that it is hardly to have precise analysis if arbitrary integer/pointer conversions are allowed. To address this, we identify the language restriction which many compiler developers implicitly assume and derive a precise analysis algorithm
A Semantic Basis for Pointer Analysis
, 1998
"... : Static analysis is most frequently used for compiler optimisation, but it can also be used to derive properties which support the validation of software. For this purpose, the commonly available analysis tools have been based on a computational model involving a static set of named variables. This ..."
Abstract
- Add to MetaCart
semantics is developed for the use of pointers which enables analysis algorithms to be validated and compared. The language basis used is the Architecture Neutral Distribution Format (ANDF) a concept defined by the Open Software Foundation. Consequently the results are applicable to C, and any other
Towards a formally verified obfuscating compiler
"... Abstract—This paper extends the idea of specializing modified interpreters for systematically generating obfuscated code. By using the Coq proof assistant we specify some elementary obfuscations and prove that the resulting distorted interpreter is correct, namely it preserves the intended semantics ..."
Abstract
- Add to MetaCart
of semantics preservation. Our obfuscation can be easily integrated into the CompCert C compiler, providing the basis for a formally verified obfuscating compiler which can be applied to any C program. I.
A Formally-Verified Alias Analysis
"... Abstract. This paper reports on the formalization and proof of soundness, using the Coq proof assistant, of an alias analysis: a static analysis that approximates the flow of pointer values. The alias analysis considered is of the points-to kind and is intraprocedural, flow-sensitive, field-sensitiv ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
-sensitive, and untyped. Its soundness proof follows the general style of abstract interpretation. The analysis is designed to fit in the Comp-Cert C verified compiler, supporting future aggressive optimizations over memory accesses. 1
Results 1 - 10
of
50