• DocumentCode
    610861
  • Title

    A Formally-Verified C Compiler Supporting Floating-Point Arithmetic

  • Author

    Boldo, S. ; Jourdan, J.-H. ; Leroy, Xavier ; Melquiond, G.

  • fYear
    2013
  • fDate
    7-10 April 2013
  • Firstpage
    107
  • Lastpage
    115
  • 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 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.
  • Keywords
    IEEE standards; floating point arithmetic; formal verification; microprocessor chips; program compilers; ARM microprocessor; C compiler; Comp Cert compilation; IEEE-754 standard; PowerPC microprocessor; floating-point arithmetic; formal verification; mathematical specification; programming language; x86-SSE2 microprocessor; Computer architecture; Java; Libraries; Optimization; Program processors; Semantics; Standards; floating-point arithmetic; floating-point semantic preservation; formal proof; verified compilation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Arithmetic (ARITH), 2013 21st IEEE Symposium on
  • Conference_Location
    Austin, TX
  • ISSN
    1063-6889
  • Print_ISBN
    978-1-4673-5644-2
  • Type

    conf

  • DOI
    10.1109/ARITH.2013.30
  • Filename
    6545898