Benjamin Bonneau

dblp:362/5826 · DBLP profile ↗
← Back
2ranked-venue papers
0as first author
2since 2021 · last 2024
0009-0005-9688-1299ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 2 · 2 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 58% Program verification · 42%

Topics — the 6 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › verified compilation
translation validation
1.422024
Towards Trustworthy Automated Program Verifiers: Formally Validating Translations into an Intermediate Verification Language · Proc. ACM Program. Lang. 2024
Formally Verifying Optimizations with Block Simulations · Proc. ACM Program. Lang. 2023
Program verification
automated verification
0.812024
Towards Trustworthy Automated Program Verifiers: Formally Validating Translations into an Intermediate Verification Language · Proc. ACM Program. Lang. 2024
Program verification › deductive verification
intermediate verification language
0.812024
Towards Trustworthy Automated Program Verifiers: Formally Validating Translations into an Intermediate Verification Language · Proc. ACM Program. Lang. 2024
Compilers and program optimization › code motion
lazy code motion
0.712023
Formally Verifying Optimizations with Block Simulations · Proc. ACM Program. Lang. 2023
Compilers and program optimization
optimizing compiler
0.712023
Formally Verifying Optimizations with Block Simulations · Proc. ACM Program. Lang. 2023
Compilers and program optimization
verified compilation
0.712023
Formally Verifying Optimizations with Block Simulations · Proc. ACM Program. Lang. 2023

Methods — techniques the papers use, named apart from their topics

isabelle proof · 0.8forward simulation · 0.8SMT solver · 0.8translation validation · 0.7block simulations · 0.7
YearPublicationVenuePosition
2024 Towards Trustworthy Automated Program Verifiers: Formally Validating Translations into an Intermediate Verification Language
abstract
Automated program verifiers are typically implemented using an intermediate verification language (IVL), such as Boogie or Why3. A verifier front-end translates the input program and specification into an IVL program, while the back-end generates proof obligations for the IVL program and employs an SMT solver to discharge them. Soundness of such verifiers therefore requires that the front-end translation faithfully captures the semantics of the input program and specification in the IVL program, and that the back-end reports success only if the IVL program is actually correct. For a verification tool to be trustworthy, these soundness conditions must be satisfied by its actual implementation , not just the program logic it uses. In this paper, we present a novel validation methodology that, given a formal semantics for the input language and IVL, provides formal soundness guarantees for front-end implementations. For each run of the verifier, we automatically generate a proof in Isabelle showing that the correctness of the produced IVL program implies the correctness of the input program. This proof can be checked independently from the verifier, in Isabelle, and can be combined with existing work on validating back-ends to obtain an end-to-end soundness result. Our methodology based on forward simulation employs several modularisation strategies to handle the large semantic gap between the input language and the IVL, as well as the intricacies of practical, optimised translations. We present our methodology for the widely-used Viper and Boogie languages. Our evaluation shows that it is effective in validating the translations performed by the existing Viper implementation.
Gaurav Parthasarathy, Thibault Dardinier, Benjamin Bonneau, Peter Müller 0001, Alexander J. Summers
Proc. ACM Program. Lang.3
2023 Formally Verifying Optimizations with Block Simulations
abstract
CompCert (ACM Software System Award 2021) is the first industrial-strength compiler with a mechanically checked proof of correctness. Yet, CompCert remains a moderately optimizing C compiler. Indeed, some optimizations of “gcc ‍-O1” such as Lazy Code Motion (LCM) or Strength Reduction (SR) were still missing: developing these efficient optimizations together with their formal proofs remained a challenge. Cyril Six et al. have developed efficient formally verified translation validators for certifying the results of superblock schedulers and peephole optimizations. We revisit and generalize their approach into a framework (integrated into CompCert) able to validate many more optimizations: an enhanced superblock scheduler, but also Dead Code Elimination (DCE), Constant Propagation (CP), and more noticeably, LCM and SR. In contrast to other approaches to translation validation, we co-design our untrusted optimizations and their validators. Our optimizations provide hints, in the forms of invariants or CFG morphisms , that help keep the formally verified validators both simple and efficient. Such designs seem applicable beyond CompCert.
Léo Gourdin, Benjamin Bonneau, Sylvain Boulmé, David Monniaux, Alexandre Berard
Proc. ACM Program. Lang.2