English
Related papers

Related papers: Automatic Function Annotations for Hoare Logic

200 papers

Mechanized theorem proving is becoming the basis of reliable systems programming and rigorous mathematics. Despite decades of progress in proof automation, writing mechanized proofs still requires engineers' expertise and remains labor…

Logic in Computer Science · Computer Science 2019-04-19 Yutaka Nagashima

We provide a way to ease the verification of programs whose state evolves monotonically. The main idea is that a property witnessed in a prior state can be soundly recalled in the current state, provided (1) state evolves according to a…

Programming Languages · Computer Science 2017-11-10 Danel Ahman , Cédric Fournet , Catalin Hritcu , Kenji Maillard , Aseem Rastogi , Nikhil Swamy

Proof assistants are important tools for teaching logic. We support this claim by discussing three formalizations in Isabelle/HOL used in a recent course on automated reasoning. The first is a formalization of System W (a system of…

Logic in Computer Science · Computer Science 2020-11-02 Asta Halkjær From , Jørgen Villadsen , Patrick Blackburn

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

Hoare-style inference rules for program constructs permit the copying of expressions and tests from program text into logical contexts. It is known that this requires care even for sequential programs but much more serious issues arise with…

Logic in Computer Science · Computer Science 2025-12-01 Ian J. Hayes , Cliff B. Jones , Larissa A. Meinicke

Reasoning about program correctness has been a central topic in static analysis for many years, with Hoare logic (HL) playing an important role. The key notions in HL are partial and total correctness. Both require that program executions…

Logic in Computer Science · Computer Science 2025-02-21 Lena Verscht , Ānrán Wáng , Benjamin Lucien Kaminski

Previously, gradual verification has been developed using overapproximating logics such as Hoare logic. We show that the static verification component of gradual verification is also connected to underapproximating logics like incorrectness…

Logic in Computer Science · Computer Science 2024-12-03 Conrad Zimmerman , Jenna DiVincenzo

In this paper we discuss how semantic annotations can be used to introduce mathematical algorithmic information of the underlying imperative code to enable compilers to produce code transformations that will enable better performance. By…

Programming Languages · Computer Science 2016-03-14 Daniel Rubio Bonilla , Colin W. Glass , Jan Kuper

We present Alias Refinement Types (ART), a new approach to the verification of correctness properties of linked data structures. While there are many techniques for checking that a heap-manipulating program adheres to its specification,…

Programming Languages · Computer Science 2015-11-03 Alexander Bakst , Ranjit Jhala

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

In relational verification, judicious alignment of computational steps facilitates proof of relations between programs using simple relational assertions. Relational Hoare logics (RHL) provide compositional rules that embody various…

Logic in Computer Science · Computer Science 2023-07-21 Anindya Banerjee , Ramana Nagasamudram , David A. Naumann

This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the…

Programming Languages · Computer Science 2017-04-17 Laura Kovacs

The article provides an overview of the existing methods of dynamic memory verification; a comparative analysis is carried out; the applicability for solving problems of control, monitoring, and verification of dynamic memory is evaluated.…

Logic in Computer Science · Computer Science 2022-03-25 René Haberland

The most common methods in explainable artificial intelligence are post-hoc techniques which identify the most relevant features used by pretrained opaque models. Some of the most advanced post hoc methods can generate explanations that…

Artificial Intelligence · Computer Science 2026-03-11 Stefano Fioravanti , Francesco Giannini , Paolo Frazzetto , Fabio Zanasi , Pietro Barbiero

Type-based amortised resource analysis following Hofmann and Jost---where resources are associated with individual elements of data structures and doled out to the programmer under a linear typing discipline---have been successful in…

Logic in Computer Science · Computer Science 2015-07-01 Robert Atkey

The growing complexity and diversity of models used in the engineering of dependable systems implies that a variety of formal methods, across differing abstractions, paradigms, and presentations, must be integrated. Such an integration…

Logic in Computer Science · Computer Science 2020-07-28 Simon Foster , James Baxter , Ana Cavalcanti , Jim Woodcock , Frank Zeyda

In this paper we present efficient evaluation algorithms for the Horn Transaction Logic (a generalization of the regular Horn logic programs with state updates). We present two complementary methods for optimizing the implementation of…

Logic in Computer Science · Computer Science 2007-09-12 Paul Fodor

Most modern (classical) programming languages support recursion. Recursion has also been successfully applied to the design of several quantum algorithms and introduced in a couple of quantum programming languages. So, it can be expected…

Logic in Computer Science · Computer Science 2021-07-27 Zhaowei Xu , Mingsheng Ying , Benoît Valiron

We argue that the implementation and verification of compilers for functional programming languages are greatly simplified by employing a higher-order representation of syntax known as Higher-Order Abstract Syntax or HOAS. The underlying…

Programming Languages · Computer Science 2017-02-14 Yuting Wang

Defeasible logics provide several linguistic features to support the expression of defeasible knowledge. There is also a wide variety of such logics, expressing different intuitions about defeasible reasoning. However, the logics can only…

Logic in Computer Science · Computer Science 2021-02-16 Guido Governatori , Michael J. Maher
‹ Prev 1 3 4 5 6 7 10 Next ›