Skip to main navigation Skip to search Skip to main content

An Efficient Floating-Point Bit-Blasting API for Verifying C Programs

  • SIDIA Instituto de Ciência e Tecnologia
  • University of Southampton

Research output: Chapter in Book/Conference proceedingConference contributionpeer-review

Abstract

We describe a new SMT bit-blasting API for floating-point programs and evaluate it using different off-the-shelf SMT solvers during the verification of several C programs. The new floating-point API is part of the SMT backend in ESBMC, a state-of-the-art bounded model checker for C and C++. For the evaluation, we compared our floatingpoint API against the native floating-point APIs in Z3 and MathSAT. We show that Boolector, when using our new
oating-point API, outperforms the solvers with native support for
oating-points, correctly verifying more programs in less time. Experimental results also show that our floating-point API implemented in ESBMC is on par with other state-of-the-art software verifiers. Furthermore, when verifying programs with floating-point arithmetic, our new floating-point API produced no
wrong answers.
Original languageEnglish
Title of host publication13th Workshop on Numerical Software Verification
Publication statusAccepted/In press - 23 Jun 2020
Event13th Workshop on Numerical Software Verification -
Duration: 20 Jul 202021 Jul 2020

Workshop

Workshop13th Workshop on Numerical Software Verification
Period20/07/2021/07/20

Keywords

  • floating-point arithmetic
  • satisfiability modulo theories
  • software verification

Fingerprint

Dive into the research topics of 'An Efficient Floating-Point Bit-Blasting API for Verifying C Programs'. Together they form a unique fingerprint.

Cite this