English
Related papers

Related papers: Execution Time Program Verification With Tight Bou…

200 papers

Approximate computing (AC) is an emerging paradigm for energy-efficient computation. The basic idea of AC is to sacrifice high precision for low energy by allowing for hardware which only carries out "approximately correct" calculations.…

Software Engineering · Computer Science 2016-05-10 Tobias Isenberg , Marie-Christine Jakobs , Felix Pauck , Heike Wehrheim

Program completion is a translation from the language of logic programs into the language of first-order theories. Its original definition has been extended to programs that include integer arithmetic, accept input, and distinguish between…

Logic in Computer Science · Computer Science 2023-12-27 Jorge Fandinno , Vladimir Lifschitz , Nathan Temple

Embedded systems are everywhere, from home appliances to critical systems such as medical devices. They usually have associated timing constraints that need to be verified for the implementation. Here, we use an untimed bounded model…

Logic in Computer Science · Computer Science 2011-06-14 Raimundo Barreto , Lucas Cordeiro , Bernd Fischer

We present a new algorithm for computing upper bounds on the number of executions of each program instruction during any single program run. The upper bounds are expressed as functions of program input values. The algorithm is primarily…

Programming Languages · Computer Science 2016-05-13 Pavel Čadek , Jan Strejček , Marek Trtík

I present a new method for specifying and verifying the partial correctness of sequential programs. The key observation is that, in Hoare logic, assertions are used as selectors of states, that is, an assertion specifies the set of program…

Software Engineering · Computer Science 2022-01-20 Paul C Attie

We propose a probabilistic Hoare logic aHL based on the union bound, a tool from basic probability theory. While the union bound is simple, it is an extremely common tool for analyzing randomized algorithms. In formal verification terms,…

Logic in Computer Science · Computer Science 2019-11-11 Gilles Barthe , Marco Gaboardi , Benjamin Grégoire , Justin Hsu , Pierre-Yves Strub

Hoare-style verification provides a principled foundation for reasoning about the correctness of quantum programs, but existing approaches do not allow fully automatic verification. While automata-based verification scales well when…

Logic in Computer Science · Computer Science 2026-05-08 Wei-Lun Tsai , Yu-Fang Chen , Ondřej Lengál

We provide a sound and relatively complete Hoare-like proof system for reasoning about partial correctness of recursive procedures in presence of local variables and the call-by-value parameter mechanism, and in which the correctness proofs…

Logic in Computer Science · Computer Science 2019-09-16 Krzysztof R. Apt , Frank S. de Boer

We present a methodology for object-modular reasoning about hybrid system code using VCC, a deductive verifier for concurrent C code. We define in VCC an explicit time model, in which the passage of time must respect the invariants of…

Software Engineering · Computer Science 2014-03-17 Ernie Cohen

Many security- and performance-critical domains, such as cryptography, rely on low-level verification to minimize the trusted computing surface and allow code to be written directly in assembly. However, verifying assembly code against a…

Logic in Computer Science · Computer Science 2025-05-21 Denis Mazzucato , Abdalrhman Mohamed , Juneyoung Lee , Clark Barrett , Jim Grundy , John Harrison , Corina S. Pasareanu

We present a method for verifying the correctness of imperative programs which is based on the automated transformation of their specifications. Given a program prog, we consider a partial correctness specification of the form $\{\varphi\}$…

Logic in Computer Science · Computer Science 2020-02-19 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

This paper proposes a thought experiment to search for efficient bounded algorithms of NPC problems by machine enumeration. The key contributions are: -- On Universal Turing Machines, a program's time complexity should be characterized as:…

Computational Complexity · Computer Science 2012-10-09 YuQian Zhou

For all the successes in verifying low-level, efficient, security-critical code, little has been said or studied about the structure, architecture and engineering of such large-scale proof developments. We present the design, implementation…

Programming Languages · Computer Science 2023-07-10 Son Ho , Aymeric Fromherz , Jonathan Protzenko

Higher-order constructs enable more expressive and concise code by allowing procedures to be parameterized by other procedures. Assertions allow expressing partial program specifications, which can be verified either at compile time…

Programming Languages · Computer Science 2025-09-11 Marco Ciccalè , Daniel Jurjo-Rivas , Jose F. Morales , Pedro López-García , Manuel V. Hermenegildo

Estimating the execution time of software components is often mandatory when evaluating the non-functional properties of software-intensive systems. This particularly holds for real-time embedded systems, e.g., in the context of industrial…

Software Engineering · Computer Science 2014-04-04 Stefan Stattelmann , Manuel Oriol , Thomas Gamer

We present an approach for verifying systems at runtime. Our approach targets distributed systems whose components communicate with monitors over unreliable channels, where messages can be delayed, reordered, or even lost. Furthermore, our…

Logic in Computer Science · Computer Science 2019-09-26 David Basin , Felix Klaedtke , Eugen Zalinescu

We consider the problem of establishing that a program-synthesis problem is unrealizable (i.e., has no solution in a given search space of programs). Prior work on unrealizability has developed some automatic techniques to establish that a…

Programming Languages · Computer Science 2025-03-04 Jinwoo Kim , Loris D'Antoni , Thomas Reps

Many foundational program verification tools have been developed to build machine-checked program correctness proofs, a majority of which are based on Hoare logic. Their program logics, their assertion languages, and their underlying…

Programming Languages · Computer Science 2023-10-27 Zhongye Wang , Qinxiang Cao , Yichen Tao

Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar - i.e., an inductively defined set of programs. Current verification frameworks…

Programming Languages · Computer Science 2025-07-29 Jinwoo Kim , Shaan Nagy , Thomas Reps , Loris D'Antoni

Hoare logics are proof systems that allow one to formally establish properties of computer programs. Traditional Hoare logics prove properties of individual program executions (such as functional correctness). Hoare logic has been…

Logic in Computer Science · Computer Science 2024-04-12 Thibault Dardinier , Peter Müller