English
Related papers

Related papers: Verifying Floating-Point Programs in Stainless

200 papers

The breakneck evolution of modern programming languages aggravates the development of deductive verification tools, which struggle to timely and fully support all new language features. To address this challenge, we present ByteBack: a…

Programming Languages · Computer Science 2024-10-03 Marco Paganoni , Carlo A. Furia

We consider linear dynamical systems under floating-point rounding. In these systems, a matrix is repeatedly applied to a vector, but the numbers are rounded into floating-point representation after each step (i.e., stored as a…

Logic in Computer Science · Computer Science 2023-01-30 Engel Lefaucheux , Joël Ouaknine , David Purser , Mohammadamin Sharifi

Software systems have been continuously evolved and delivered with high quality due to the widespread adoption of automated tests. A recurring issue hurting this scenario is the presence of flaky tests, a test case that may pass or fail…

Software Engineering · Computer Science 2021-03-24 B. H. P. Camara , M. A. G. Silva , A. T. Endo , S. R. Vergilio

Semiconductor companies have increasingly adopted a methodology that starts with a system-level design specification in C/C++/SystemC. This model is extensively simulated to ensure correct functionality and performance. Later, a Register…

Software Engineering · Computer Science 2016-09-02 Rajdeep Mukherjee , Saurabh Joshi , Andreas Griesmayer , Daniel Kroening , Tom Melham

We consider the problem of solving floating-point constraints obtained from software verification. We present UppSAT --- a new implementation of a systematic approximation refinement framework [ZWR17] as an abstract SMT solver. Provided…

Logic in Computer Science · Computer Science 2017-12-12 Aleksandar Zeljic , Peter Backeman , Christoph M. Wintersteiger , Philipp Ruemmer

The focus of the tool FTOS is to alleviate designers' burden by offering code generation for non-functional aspects including fault-tolerance mechanisms. One crucial aspect in this context is to ensure that user-selected mechanisms for the…

Distributed, Parallel, and Cluster Computing · Computer Science 2009-05-26 Chih-Hong Cheng , Christian Buckl , Javier Esparza , Alois Knoll

We present a scheme to automatically set the precision of floating point variables in an application. We design a framework that profiles applications to measure undesirable numerical behavior at the floating point operation level. We use…

Numerical Analysis · Computer Science 2016-06-02 Ralph Nathan , Helia Naeimi , Daniel J. Sorin , Xiaobai Sun

Programs with floating-point computations are often derived from mathematical models or designed with the semantics of the real numbers in mind. However, for a given input, the computed path with floating-point numbers may differ from the…

Programming Languages · Computer Science 2016-08-08 Hélène Collavizza , Claude Michel , Michel Rueher

Abstract interpreters are complex pieces of software: even if the abstract interpretation theory and companion algorithms are well understood, their implementations are subject to bugs, that might question the soundness of their…

Programming Languages · Computer Science 2021-10-19 Lucas Franceschino , David Pichardie , Jean-Pierre Talpin

Deductive verification has become a mature paradigm for the verification of industrial software. Applying deductive verification, however, requires that every function in the code base is annotated with a function contract specifying its…

Logic in Computer Science · Computer Science 2025-01-22 Jesper Amilon , Dilian Gurov , Christian Lidström , Mattias Nyberg , Gustav Ung , Ola Wingbrant

Floating-point accuracy is an important concern when developing numerical simulations or other compute-intensive codes. Tracking the introduction of numerical regression is often delayed until it provokes unexpected bug for the end-user. In…

Software Engineering · Computer Science 2024-07-12 Aurélien Delval , François Coppens , Eric Petit , Roman Iakymchuk , Pablo de Oliveira Castro

We present a general framework for specifying and verifying persistent libraries, that is, libraries of data structures that provide some persistency guarantees upon a failure of the machine they are executing on. Our framework enables…

Programming Languages · Computer Science 2023-06-05 Léo Stefanesco , Azalea Raad , Viktor Vafeiadis

The discrete dipole approximation (DDA) is a widely used and versatile numerical method for solving electromagnetic scattering by arbitrarily shaped objects. Despite its popularity, quantitative comparisons between independent…

Computational Physics · Physics 2026-05-13 Clément Argentin , Patrick C. Chaumet , Michel Gross , Maxim A. Yurkin

The study addresses the problem of precision in floating-point (FP) computations. A method for estimating the errors which affect intermediate and final results is proposed and a summary of many software simulations is discussed. The basic…

Numerical Analysis · Computer Science 2012-01-31 Glauco Masotti

In considering the reliability of numerical programs, it is normal to "limit our study to the semantics dealing with numerical precision" (Martel, 2005). On the other hand, there is a great deal of work on the reliability of programs that…

Symbolic Computation · Computer Science 2014-04-25 James H. Davenport , Russell Bradford , Matthew England , David Wilson

The implementation of digital filters in processors based on fixed-point arithmetic can lead to problems related to the finite word-length. In particular, the processing of signals in such filters can produce overflows and unwanted noise…

Software Engineering · Computer Science 2013-07-24 Renato B. Abreu , Lucas Cordeiro , Eddie B. L. Filho

Interactive program verification is characterized by iterations of unfinished proof attempts. To support the process of constructing a complete proof, many interactive program verification systems offer a proof scripting language as a…

Logic in Computer Science · Computer Science 2018-04-13 Bernhard Beckert , Sarah Grebing , and Alexander Weigl

We develop the first two heap logics that have implicit heaplets and that admit FO-complete program verification. The notion of FO-completeness is a theoretical guarantee that all theorems that are valid when recursive definitions are…

Logic in Computer Science · Computer Science 2026-01-13 Adithya Murali , Hrishikesh Balakrishnan , Aaron Councilman , P. Madhusudan

Verifying multi-threaded programs is becoming more and more important, because of the strong trend to increase the number of processing units per CPU socket. We introduce a new configurable program analysis for verifying multi-threaded…

Logic in Computer Science · Computer Science 2016-12-23 Dirk Beyer , Karlheinz Friedberger

With the progress in deductive program verification research, new tools and techniques have become available to support design-by-contract reasoning about non-trivial programs written in widely-used programming languages. However, deductive…

Programming Languages · Computer Science 2021-07-14 Marieke Huisman , Raúl E. Monti