EDBT 2026 Demo / reviewers in the wild / expert
Sylvie Boldo
dblp:91/6208
· DBLP profile ↗
32ranked-venue papers
29as first author
5since 2021 · last 2023
0000-0002-1970-3019ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 21 · 18 first-author · 3 since 2021Systems, architecture and hardware · 6 · 6 first-author · 1 since 2021Software engineering, systems software and programming languages · 6 · 5 first-author · 1 since 2021Artificial intelligence and machine learning · 4 · 3 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | A Coq Formalization of Lebesgue Induction Principle and Tonelli's Theorem
Sylvie Boldo, François Clément, Micaela Mayero, Houda Mouhcine |
FM | 1 |
| 2022 | Bounding the Round-Off Error of the Upwind Scheme for AdvectionabstractPresents the front cover, title page, cover page, or splash screen of the proceedings record. Louise Ben Salem-Knapp, Sylvie Boldo, William Weens |
ARITH | 2 |
| 2022 | A Coq Formalization of Lebesgue Integration of Nonnegative Functions
Sylvie Boldo, François Clément, Florian Faissole, Micaela Mayero |
J. Autom. Reason. | 1 |
| 2021 | Some Formal Tools for Computer Arithmetic: Flocq and GappaabstractThis invited paper presents two tools developed by the authors. Their purpose is to help the user in writing proofs regarding computer arithmetic, e.g., certifying a bound on a round-off error, while aiming at a high level of guarantee. Flocq is a library of mathematical definitions and theorems for the Coq proof assistant; Gappa is meant to compute bounds of values and errors, while producing the corresponding formal proof. We describe here these tools, how they interact and how they fit in a larger verification process. Sylvie Boldo, Guillaume Melquiond |
ARITH | 1 |
| 2021 | Emulating Round-to-Nearest Ties-to-Zero "Augmented" Floating-Point Operations Using Round-to-Nearest Ties-to-Even ArithmeticabstractThe 2019 version of the IEEE 754 Standard for Floating-Point Arithmetic recommends that new “augmented” operations should be provided for the binary formats. These operations use a new “rounding direction”: round-to-nearestties-to-zero. We show how they can be implemented using the currently available operations, using round-to-nearestties-to-evenwith a partial formal proof of correctness. Sylvie Boldo, Christoph Quirin Lauter, Jean-Michel Muller |
IEEE Trans. Computers | 1 |
| 2020 | A Correctly-Rounded Fixed-Point-Arithmetic Dot-Product AlgorithmabstractDot products (also called sums of products) are ubiquitous in matrix computations, for instance in signal processing. We are especially interested in digital filters, where they are the core operation. We therefore focus on fixed-point arithmetic, used in embedded systems for time and energy efficiency. Common dot product algorithms ensure faithful rounding. For the sake of accuracy and reproducibility, we want to ensure correct rounding. This article describes an algorithm that computes a correctly-rounded sum of products from inputs whose format is known in advance. This algorithm relies on odd rounding (that is easily implemented in hardware) and comes with a careful proof and some cost analysis. Sylvie Boldo, Diane Gallois-Wong, Thibault Hilaire |
ARITH | 1 |
| 2020 | Round-Off Error and Exceptional Behavior Analysis of Explicit Runge-Kutta MethodsabstractNumerical integration schemes are mandatory to understand complex behaviors of dynamical systems described by ordinary differential equations. Implementation of these numerical methods involve floating-point computations and propagation of round-off errors. This paper presents a new fine-grained analysis of round-off errors in explicit Runge-Kutta integration methods, taking into account exceptional behaviors, such as underflow and overflow. Linear stability properties play a central role in the proposed approach. For a large class of Runge-Kutta methods applied on linear problems, a tight bound of the round-off errors is provided. A simple test is defined and ensures the absence of underflow and a tighter round-off error bound. The absence of overflow is guaranteed as linear stability properties imply that (computed) solutions are non-increasing. Sylvie Boldo, Florian Faissole, Alexandre Chapoutot |
IEEE Trans. Computers | 1 |
| 2018 | A Formally-Proved Algorithm to Compute the Correct Average of Decimal Floating-Point NumbersabstractSome modern processors include decimal floating-point units, with a conforming implementation of the IEEE-754 2008 standard. Unfortunately, many algorithms from the computer arithmetic literature are not correct anymore when computations are done in radix 10. This is in particular the case for the computation of the average of two floating-point numbers. Several radix-2 algorithms are available, including one that provides the correct rounding, but none hold in radix 10. This paper presents a new radix-10 algorithm that computes the correctly-rounded average. To guarantee a higher level of confidence, we also provide a Coq formal proof of our theorems, that takes gradual underflow into account. Note that our formal proof was generalized to ensure this algorithm is correct when computations are done with any even radix. Sylvie Boldo, Florian Faissole, Vincent Tourneur |
ARITH | 1 |
| 2018 | A Coq Formalization of Digital Filters
Diane Gallois-Wong, Sylvie Boldo, Thibault Hilaire |
CICM | 2 |
| 2017 | Round-off Error Analysis of Explicit One-Step Numerical Integration MethodsabstractOrdinary differential equations are ubiquitous in scientific computing. Solving exactly these equations is usually not possible, except for special cases, hence the use of numerical schemes to get a discretized solution. We are interested in such numerical integration methods, for instance Euler's method or the Runge-Kutta methods. As they are implemented using floating-point arithmetic, round-off errors occur. In order to guarantee their accuracy, we aim at providing bounds on the round-off errors of explicit one-step numerical integration methods. Our methodology is to apply a fine-grained analysis to these numerical algorithms. Our originality is that our floating-point analysis takes advantage of the linear stability of the scheme, a mathematical property that vouches the scheme is well-behaved. Sylvie Boldo, Florian Faissole, Alexandre Chapoutot |
ARITH | 1 |
| 2017 | A Coq formal proof of the LaxMilgram theoremabstractThe Finite Element Method is a widely-used method to solve numerical problems coming for instance from physics or biology. To obtain the highest confidence on the correction of numerical simulation programs implementing the Finite Element Method, one has to formalize the mathematical notions and results that allow to establish the soundness of the method. The Lax–Milgram theorem may be seen as one of those theoretical cornerstones: under some completeness and coercivity assumptions, it states existence and uniqueness of the solution to the weak formulation of some boundary value problems. This article presents the full formal proof of the Lax–Milgram theorem in Coq. It requires many results from linear algebra, geometry, functional analysis, and Hilbert spaces. Sylvie Boldo, François Clément, Florian Faissole, Micaela Mayero |
CPP | 1 |
| 2017 | Formal Verification of a Floating-Point Expansion Renormalization Algorithm
Sylvie Boldo, Mioara Joldes, Jean-Michel Muller, Valentina Popescu |
ITP | 1 |
| 2017 | On the Robustness of the 2Sum and Fast2Sum AlgorithmsabstractThe 2Sum and Fast2Sum algorithms are important building blocks in numerical computing. They are used (implicitely or explicitely) in many compensated algorithms (such as compensated summation or compensated polynomial evaluation). They are also used for manipulating floating-point expansions . We show that these algorithms are much more robust than it is usually believed: The returned result makes sense even when the rounding function is not round-to-nearest, and they are almost immune to overflow. Sylvie Boldo, Stef Graillat, Jean-Michel Muller |
ACM Trans. Math. Softw. | 1 |
| 2016 | Formalization of real analysis: a survey of proof assistants and librariesabstractIn the recent years, numerous proof systems have improved enough to be used for formally verifying non-trivial mathematical results. They, however, have different purposes and it is not always easy to choose which one is adapted to undertake a formalization effort. In this survey, we focus on properties related to real analysis: real numbers, arithmetic operators, limits, differentiability, integrability and so on. We have chosen to look into the formalizations provided in standard by the following systems: Coq, HOL4, HOL Light, Isabelle/HOL, Mizar, ProofPower-HOL, and PVS. We have also accounted for large developments that play a similar role or extend standard libraries: ACL2(r) for ACL2, C-CoRN/MathClasses for Coq, and the NASA PVS library. This survey presents how real numbers have been defined in these various provers and how the notions of real analysis described above have been formalized. We also look at the methods of automation these systems provide for real analysis. Sylvie Boldo, Catherine Lelay, Guillaume Melquiond |
Math. Struct. Comput. Sci. | 1 |
| 2015 | Formal Verification of Programs Computing the Floating-Point Average
Sylvie Boldo |
ICFEM | 1 |
| 2015 | Verified Compilation of Floating-Point Computations
Sylvie Boldo, Jacques-Henri Jourdan, Xavier Leroy, Guillaume Melquiond |
J. Autom. Reason. | 1 |
| 2013 | How to Compute the Area of a Triangle: A Formal RevisitabstractMathematical values are usually computed using well-known mathematical formulas without thinking about their accuracy, which may turn awful with particular instances. This is the case for the computation of the area of a triangle. When the triangle is needle-like, the common formula has a very poor accuracy. Kahan proposed in 1986 an algorithm he claimed correct within a few ulps. Goldberg took over this algorithm in 1991 and gave a precise error bound. This article presents a formal proof of this algorithm, an improvement of its error bound and new investigations in case of underflow. Sylvie Boldo |
IEEE Symposium on Computer Arithmetic | 1 |
| 2013 | A Formally-Verified C Compiler Supporting Floating-Point ArithmeticabstractFloating-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 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 Comp Certformally-verified compiler provides a solution to this problem: this compiler comes with a mathematical specification of the semantics of its source language (a large subset of ISO 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 Comp Cert'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. As a result, we obtain the first formally verified compiler that provably preserves the semantics of floating-point programs. Sylvie Boldo, Jacques-Henri Jourdan, Xavier Leroy, Guillaume Melquiond |
IEEE Symposium on Computer Arithmetic | 1 |
| 2013 | Wave Equation Numerical Resolution: A Comprehensive Mechanized Proof of a C Program
Sylvie Boldo, François Clément, Jean-Christophe Filliâtre, Micaela Mayero, Guillaume Melquiond, Pierre Weis |
J. Autom. Reason. | 1 |
| 2012 | Improving Real Analysis in Coq: A User-Friendly Approach to Integrals and Derivatives
Sylvie Boldo, Catherine Lelay, Guillaume Melquiond |
CPP | 1 |
| 2011 | Flocq: A Unified Library for Proving Floating-Point Algorithms in CoqabstractSeveral formalizations of floating-point arithmetic have been designed for the Coq system, a generic proof assistant. Their different purposes have favored some specific applications: program verification, high-level properties, automation. Based on our experience using and/or developing these libraries, we have built a new system that is meant to encompass the other ones in a unified framework. It offers a multi-radix and multi-precision formalization for various floating- and fixed-point formats. This fresh setting has been the occasion for reevaluating known properties and generalizing them. This paper presents design decisions and examples of theorems from the Flocq system: a library easy to use, suitable for automation yet high-level and generic. Sylvie Boldo, Guillaume Melquiond |
IEEE Symposium on Computer Arithmetic | 1 |
| 2011 | Exact and Approximated Error of the FMAabstractThe fused multiply accumulate-add (FMA) instruction, specified by the IEEE 754-2008 Standard for Floating-Point Arithmetic, eases some calculations, and is already available on some current processors such as the Power PC or the Itanium. We first extend an earlier work on the computation of the exact error of an FMA (by giving more general conditions and providing a formal proof). Then, we present a new algorithm that computes an approximation to the error of an FMA, and provide error bounds and a formal proof for that algorithm. Sylvie Boldo, Jean-Michel Muller |
IEEE Trans. Computers | 1 |
| 2010 | Formal Proof of a Wave Equation Resolution Scheme: The Method Error
Sylvie Boldo, François Clément, Jean-Christophe Filliâtre, Micaela Mayero, Guillaume Melquiond, Pierre Weis |
ITP | 1 |
| 2009 | Floats and Ropes: A Case Study for Formal Numerical Program Verification
Sylvie Boldo |
ICALP (2) | 1 |
| 2009 | Kahan's Algorithm for a Correct Discriminant Computation at Last Formally ProvenabstractThis article tackles Kahan's algorithm to compute accurately the discriminant. This is a known difficult problem, and this algorithm leads to an error bounded by 2 ulps of the floating-point result. The proofs involved are long and tricky and even trickier than expected as the test involved may give a result different from the result of the same test without rounding. We give here the total demonstration of the validity of this algorithm, and we provide sufficient conditions to guarantee that neither overflow nor underflow will jeopardize the result. The IEEE-754 double-precision program is annotated using the Why platform and the proof obligations are done using the Coq automatic proof checker. Sylvie Boldo |
IEEE Trans. Computers | 1 |
| 2009 | Formally Verified Argument Reduction with a Fused Multiply-AddabstractThe Cody and Waite argument reduction technique works perfectly for reasonably large arguments, but as the input grows, there are no bits left to approximate the constant with enough accuracy. Under mild assumptions, we show that the result computed with a fused multiply-add provides a fully accurate result for many possible values of the input with a constant almost accurate to the full working precision. We also present an algorithm for a fully accurate second reduction step to reach full double accuracy (all the significand bits of two numbers are accurate) even in the worst cases of argument reduction. Our work recalls the common algorithms and presents proofs of correctness. All the proofs are formally verified using the Coq automatic proof checker. Sylvie Boldo, Marc Daumas, Ren-Cang Li |
IEEE Trans. Computers | 1 |
| 2008 | Emulation of a FMA and Correctly Rounded Sums: Proved Algorithms Using Rounding to OddabstractRounding to odd is a nonstandard rounding on floating-point numbers. By using it for some intermediate values instead of rounding to nearest, correctly rounded results can be obtained at the end of computations. We present an algorithm for emulating the fused multiply-and-add operator. We also present an iterative algorithm for computing the correctly rounded sum of a set of floating-point numbers under mild assumptions. A variation on both previous algorithms is the correctly rounded sum of any three floating-point numbers. This leads to efficient implementations, even when this rounding is not available. In order to guarantee the correctness of these properties and algorithms, we formally proved them by using the Coq proof checker. Sylvie Boldo, Guillaume Melquiond |
IEEE Trans. Computers | 1 |
| 2007 | Formal Verification of Floating-Point ProgramsabstractThis paper introduces a methodology to perform formal verification of floating-point C programs. It extends an existing tool for the verification of C programs, Caduceus, with new annotations specific to floating-point arithmetic. The Caduceus first-order logic model for C programs is extended accordingly. Then verification conditions expressing the correctness of the programs are obtained in the usual way and can be discharged interactively with the Coq proof assistant, using an existing Coq formalization of floatingpoint arithmetic. This methodology is already implemented and has been successfully applied to several short floatingpoint programs, which are presented in this paper. Sylvie Boldo, Jean-Christophe Filliâtre |
IEEE Symposium on Computer Arithmetic | 1 |
| 2005 | Some Functions Computable with a Fused-MacabstractThe fused multiply accumulate instruction (fused-mac) that is available on some current processors such as the Power PC or the Itanium eases some calculations. We give examples of some floating-point functions (such as ulp(x) or Nextafter(x, y)), or some useful tests, that are easily computable using a fused-mac. Then, we show that, with rounding to the nearest, the error of a fused-mac instruction is exactly representable as the sum of two floating-point numbers. We give an algorithm that computes that error. Sylvie Boldo, Jean-Michel Muller |
IEEE Symposium on Computer Arithmetic | 1 |
| 2004 | Properties of two's complement floating point notations
Sylvie Boldo, Marc Daumas |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2003 | Representable Correcting Terms for Possibly Underflowing Floating Point OperationsabstractStudying floating point arithmetic, authors have shown that the implemented operations (addition, subtraction, multiplication, division and square root) can compute a result and an exact correcting term using the same format as the inputs. Following a path initiated in 1965, many authors supposed that neither underflow nor overflow occurred in the process. Overflow is not critical as this kind of exception creates persisting nonnumeric quantities. Underflow may be fatal to the process as it returns wrong numeric values with little warning. Our new conditions guarantee that the correcting term is exact when the result is a number. We have validated our proofs against Coq automatic proof checker. Our development has raised many questions, some of them were expected while other ones were surprising. Sylvie Boldo, Marc Daumas |
IEEE Symposium on Computer Arithmetic | 1 |
| 2003 | Theorems on Efficient Argument ReductionsabstractA commonly used argument reduction technique in elementary function computations begins with two positive floating point numbers /spl alpha/ and /spl gamma/ that approximate (usually irrational but not necessarily) numbers 1/C and C, e.g., C = 2/spl pi/ for trigonometric functions and ln 2 for e/sup x/. Given an argument to the function of interest it extracts z as defined by x/spl alpha/ = z + /spl sigmav/ with z = k2/sup -N/ and |sigmav;| /spl les/ 2/sup -N-1/, where k, N are integers and N /spl ges/ 0 is preselected, and then computes u = x - z/spl gamma/. Usually z/spl gamma/ takes more bits than the working precision provides for storing its significant and thus exact x - z/spl gamma/ may not be represented exactly by a floating point number of the same precision. This will cause performance penalty when the working precision is the highest available on the underlying hardware and thus considerable extra work is needed to get all the bits of x - z/spl gamma/ right. We present theorems that show under mild conditions that can be easily met on today's computer hardware and still allow /spl alpha/ /spl ap/ 1/C and /spl gamma/ /spl ap/ C to almost the full working precision, x - z/spl gamma/ is a floating point number of the same precision. An algorithmic procedure based on the theorems is obtained. The results will enhance performance, in particular on machines that has hardware support for fused multiply-add (fma) instruction(s). Ren-Cang Li, Sylvie Boldo, Marc Daumas |
IEEE Symposium on Computer Arithmetic | 2 |