English
Related papers

Related papers: Verifying Floating-Point Programs in Stainless

200 papers

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-30 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

The ultimate goal of verification is to guarantee the safety of deployed neural networks. Here, we claim that all the state-of-the-art verifiers we are aware of fail to reach this goal. Our key insight is that theoretical soundness…

Machine Learning · Computer Science 2025-06-03 Attila Szász , Balázs Bánhelyi , Márk Jelasity

Smale's alpha-theory uses estimates related to the convergence of Newton's method to give criteria implying that Newton iterations will converge quadratically to solutions to a square polynomial system. The program alphaCertified implements…

Numerical Analysis · Mathematics 2011-09-22 Jonathan D. Hauenstein , Frank Sottile

Automated synthesis of inductive invariants is an important problem in software verification. Once all the invariants have been specified, software verification reduces to checking of verification conditions. Although static analyses to…

Machine Learning · Computer Science 2020-07-17 Sahil Bhatia , Saswat Padhi , Nagarajan Natarajan , Rahul Sharma , Prateek Jain

Roundoff errors cannot be avoided when implementing numerical programs with finite precision. The ability to reason about rounding is especially important if one wants to explore a range of potential representations, for instance for FPGAs…

Numerical Analysis · Computer Science 2016-11-28 Victor Magron , George Constantinides , Alastair Donaldson

This paper presents a {theoretical study} of the problem of verifying linearizability at runtime, where one seeks for a concurrent algorithm for verifying that the current execution of a given concurrent shared object implementation is…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-14 Armando Castañeda , Gilde Valeria Rodríguez

Resilient algorithms in high-performance computing are subject to rigorous non-functional constraints. Resiliency must not increase the runtime, memory footprint or I/O demands too significantly. We propose a task-based soft error detection…

Software Engineering · Computer Science 2021-11-01 Philipp Samfass , Tobias Weinzierl , Anne Reinarz , Michael Bader

For engineering software with formal correctness proofs it is crucial that proofs can be efficiently reused in case the software or its specification is changed. Unfortunately, in reality even slight changes in the code or its specification…

Software Engineering · Computer Science 2015-01-20 Maria Pelevina

Logs of real-life processes often feature uncertainty pertaining the recorded timestamps, data values, and/or events. We consider the problem of checking conformance of uncertain logs against data-aware reference processes. Specifically, we…

Artificial Intelligence · Computer Science 2022-06-28 Paolo Felli , Alessandro Gianola , Marco Montali , Andrey Rivkin , Sarah Winkler

Standardness is a popular assumption in the literature on set estimation. It also appears in statistical approaches to topological data analysis, where it is common to assume that the data were sampled from a probability measure that…

Statistics Theory · Mathematics 2025-02-27 Alejandro Cholaquidis , Leonardo Moreno , Beatriz Pateiro-López

Fault localization is a practical research topic that helps developers identify code locations that might cause bugs in a program. Most existing fault localization techniques are designed for imperative programs (e.g., C and Java) and rely…

Software Engineering · Computer Science 2021-02-23 Guolong Zheng , ThanhVu Nguyen , Simón Gutiérrez Brida , Germán Regis , Marcelo F. Frias , Nazareno Aguirre , Hamid Bagheri

Stochastic models are widely used to verify whether systems satisfy their reliability, performance and other nonfunctional requirements. However, the validity of the verification depends on how accurately the parameters of these models can…

Software Engineering · Computer Science 2022-02-22 Naif Alasmari , Radu Calinescu , Colin Paterson , Raffaela Mirandola

In this paper we consider the problem of certified static checking of module-like constructs of programming languages. We argue that there are algorithms and properties related to modules that can be defined and proven in an abstract way.…

Programming Languages · Computer Science 2017-06-20 Julia Belyakova

The paper proposes a control-theoretic framework for verification of numerical software systems, and puts forward software verification as an important application of control and systems theory. The idea is to transfer Lyapunov functions…

Systems and Control · Computer Science 2011-08-02 Mardavij Roozbehani , Alexandre Megretski , Eric Feron

Floating-point arithmetic (FPA) is a mechanical representation of real arithmetic (RA), where each operation is replaced with a rounded counterpart. Various numerical properties can be verified by using SMT solvers that support the logic of…

Logic in Computer Science · Computer Science 2021-12-07 Daisuke Ishii , Takashi Tomita , Toshiaki Aoki

When writing programs involving matrices or tensors in general, it is desirable to rule out the inconsistency of tensor shapes (i.e., the generalization of matrix sizes) before actual computation. For this purpose, some languages provide…

Programming Languages · Computer Science 2026-04-28 Takashi Suwa , Atsushi Igarashi

SPARK 2014 is a modern programming language and a new state-of-the-art tool set for development and verification of high-integrity software. In this paper, we explore the capabilities and limitations of its latest version in the context of…

Software Engineering · Computer Science 2017-07-05 Martin Becker , Emanuel Regnath , Samarjit Chakraborty

This paper presents a novel approach to automatically verify properties of pure data-parallel programs with non-linear indexing -- expressed as pre- and post-conditions on functions. Programs consist of nests of second-order array…

Programming Languages · Computer Science 2025-07-01 Nikolaj Hey Hinnerskov , Robert Schenck , Cosmin E. Oancea

Interrupts have been widely used in safety-critical computer systems to handle outside stimuli and interact with the hardware, but reasoning about interrupt-driven software remains a difficult task. Although a number of static verification…

Programming Languages · Computer Science 2017-09-29 Chungha Sung , Markus Kusano , Chao Wang

Software testing plays a critical role in ensuring that systems behave as intended. However, existing automated testing approaches struggle to match the capabilities of human engineers due to key limitations such as test locality, lack of…

Software Engineering · Computer Science 2025-06-16 Kangping Xu , Yifan Luo , Yang Yuan , Andrew Chi-Chih Yao