English
Related papers

Related papers: Verifying Floating-Point Programs in Stainless

200 papers

Formal verification techniques have been playing an important role in pre-silicon validation processes. One of the most important points considered in performing formal verification is to define good verification scopes; we should define…

Logic in Computer Science · Computer Science 2011-11-09 Yasushi Umezawa , Takeshi Shimizu

We consider the decidability of the verification problem of programs \emph{modulo axioms} --- that is, verifying whether programs satisfy their assertions, when the functions and relations it uses are assumed to interpreted by arbitrary…

Programming Languages · Computer Science 2019-10-30 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

In this article we address the problem of automatic answer checking in interactive learning systems that support mathematical notation. This problem consists of the problem of establishing identities in formal mathematical systems and hence…

Other Computer Science · Computer Science 2016-02-02 Vladimir G. Danilov , Ilya S. Turuntaev

Deep learning object detectors often return false positives with very high confidence. Although they optimize generic detection performance, such as mean average precision (mAP), they are not designed for reliability. For a reliable…

Computer Vision and Pattern Recognition · Computer Science 2020-06-30 Siddharth Ancha , Junyu Nan , David Held

In recent years, program verifiers and interactive theorem provers have become more powerful and more suitable for verifying large programs or proofs. This has demonstrated the need for improving the user experience of these tools to…

Programming Languages · Computer Science 2014-04-29 K. Rustan M. Leino , Valentin Wüstholz

Reliable numerical computations are central to scientific computing, but the floating-point arithmetic that enables large-scale models is error-prone. Numeric exceptions are a common occurrence and can propagate through code, leading to…

Programming Languages · Computer Science 2024-03-26 Taylor Allred , Xinyi Li , Ashton Wiersdorf , Ben Greenman , Ganesh Gopalakrishnan

This paper provides a bound on the number of numeric operations (fixed or floating point) that can safely be performed before accuracy is lost. This work has important implications for control systems with safety-critical software, as these…

Mathematical Software · Computer Science 2007-05-23 Marc Daumas , David Lester

Numerical software, common in scientific computing or embedded systems, inevitably uses an approximation of the real arithmetic in which most algorithms are designed. In many domains, roundoff errors are not the only source of inaccuracy…

Programming Languages · Computer Science 2016-03-14 Eva Darulova , Viktor Kuncak

Motivated by the importance of floating-point computations, we study the problem of securely and accurately summing many floating-point numbers. Prior work has focused on security absent accuracy or accuracy absent security, whereas our…

Cryptography and Security · Computer Science 2023-12-19 Marina Blanton , Michael T. Goodrich , Chen Yuan

Noisy data, non-convex objectives, model misspecification, and numerical instability can all cause undesired behaviors in machine learning systems. As a result, detecting actual implementation errors can be extremely difficult. We…

Software Engineering · Computer Science 2017-06-28 Daniel Selsam , Percy Liang , David L. Dill

Most existing implementations of multiple precision arithmetic demand that the user sets the precision {\em a priori}. Some libraries are said adaptable in the sense that they dynamically change the precision of each intermediate operation…

Mathematical Software · Computer Science 2007-05-23 Sylvie Boldo , Marc Daumas , Claire Moreau-Finot , Laurent Thery

Formal verification provides mathematical guarantees that a software is correct. Design-level verification tools ensure software specifications are correct, but they do not expose defects in actual implementations. For this purpose,…

Software Engineering · Computer Science 2025-05-01 Paschal C. Amusuo , Parth V. Patil , Owen Cochell , Taylor Le Lievre , James C. Davis

We consider the decision problem for quantifier-free formulas whose atoms are linear inequalities interpreted over the reals or rationals. This problem may be decided using satisfiability modulo theory (SMT), using a mixture of a SAT solver…

Logic in Computer Science · Computer Science 2009-04-23 David Monniaux

This paper describes the formal verification of two Turing machines using the program verifier Dafny. Both machines are deciders, so we prove total correctness. They are typical first examples of Turing machines used in any course of…

Logic in Computer Science · Computer Science 2026-01-22 Edgar F. A. Lederer

We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses…

Programming Languages · Computer Science 2019-07-16 Niki Vazou , Anish Tondwalkar , Vikraman Choudhury , Ryan G. Scott , Ryan R. Newton , Philip Wadler , Ranjit Jhala

Current static verification techniques support a wide range of programs. However, such techniques only support complete and detailed specifications, which places an undue burden on users. To solve this problem, prior work proposed gradual…

Interactive proof assistants are computer programs carefully constructed to check a human-designed proof of a mathematical claim with high confidence in the implementation. However, this only validates truth of a formal claim, which may…

Programming Languages · Computer Science 2023-10-09 Colin S. Gordon , Sergey Matskevich

Nowadays, parallel computing is ubiquitous in several application fields, both in engineering and science. The computations rely on the floating-point arithmetic specified by the IEEE754 Standard. In this context, an elementary brick of…

Computation and Language · Computer Science 2022-05-12 Farah Benmouhoub , Pierre-Loïc Garoche , Matthieu Martel

Common programming tools, like compilers, debuggers, and IDEs, crucially rely on the ability to analyse program code to reason about its behaviour and properties. There has been a great deal of work on verifying compilers and static…

Programming Languages · Computer Science 2019-07-15 Jan Stolarek , James Cheney

Probabilistic model checking computes probabilities and expected values related to designated behaviours of interest in Markov models. As a formal verification approach, it is applied to critical systems; thus we trust that probabilistic…

Logic in Computer Science · Computer Science 2021-10-19 Arnd Hartmanns
‹ Prev 1 3 4 5 6 7 10 Next ›