English
Related papers

Related papers: A Hoare Logic with Regular Behavioral Specificatio…

200 papers

We study a propositional variant of Hoare logic that can be used for reasoning about programs that exhibit both angelic and demonic nondeterminism. We work in an uninterpreted setting, where the meaning of the atomic actions is specified…

Logic in Computer Science · Computer Science 2019-03-14 Konstantinos Mamouras

In search for a foundational framework for reasoning about observable behavior of programs that may not terminate, we have previously devised a trace-based big-step semantics for While. In this semantics, both traces and evaluation…

Logic in Computer Science · Computer Science 2019-07-16 Keiko Nakata , Tarmo Uustalu

We introduce an extension of Hoare logic for call-by-value higher-order functions with ML-like local reference generation. Local references may be generated dynamically and exported outside their scope, may store higher-order functions and…

Logic in Computer Science · Computer Science 2015-07-01 Nobuko Yoshida , Kohei Honda , Martin Berger

We present a lightweight approach to Hoare-style specifications for fine-grained concurrency, based on a notion of time-stamped histories that abstractly capture atomic changes in the program state. Our key observation is that histories…

Logic in Computer Science · Computer Science 2014-10-02 Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee

We argue that verification of recursive programs by means of the assertional method of C.A.R. Hoare can be conceptually simplified using a modular reasoning. In this approach some properties of the program are established first and…

Logic in Computer Science · Computer Science 2009-07-27 Krzysztof R. Apt , Frank S. de Boer , Ernst-Rüdiger Olderog

We present a new approach to automated reasoning about higher-order programs by extending symbolic execution to use behavioral contracts as symbolic values, enabling symbolic approximation of higher-order behavior. Our approach is based on…

Programming Languages · Computer Science 2012-04-27 Sam Tobin-Hochstadt , David Van Horn

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 propose a simple imperative programming language, ERC, that features arbitrary real numbers as primitive data type, exactly. Equipped with a denotational semantics, ERC provides a formal programming language-theoretic foundation to the…

Following Hoare's seminal invention, now called Hoare logic, to reason about correctness of computer programs, we advocate a related but fundamentally different approach to reason about access security of computer programs such as access…

Logic in Computer Science · Computer Science 2026-04-01 Arnold Beckmann , Anton Setzer

Deductive verification techniques based on program logics (i.e., the family of Floyd-Hoare logics) are a powerful approach for program reasoning. Recently, there has been a trend of increasing the expressive power of such logics by…

Logic in Computer Science · Computer Science 2021-01-27 Marco Gaboardi , Shin-ya Katsumata , Dominic Orchard , Tetsuya Sato

The behavior of concurrent, asynchronous procedures depends in general on the call context, because of the global protocol that governs scheduling. This context cannot be specified with the state-based Hoare-style contracts common in…

Logic in Computer Science · Computer Science 2023-10-09 Reiner Hähnle , Eduard Kamburjan , Marco Scaletta

Relational Hoare logics (RHL) provide rules for reasoning about relations between programs. Several RHLs include a rule we call sequential product that infers a relational correctness judgment from judgments of ordinary Hoare logic (HL).…

Logic in Computer Science · Computer Science 2021-05-03 Ramana Nagasamudram , David A. Naumann

Starting with Hoare Logic over 50 years ago, numerous program logics have been devised to reason about the diverse programs encountered in the real world. This includes reasoning about computational effects, particularly those effects that…

Logic in Computer Science · Computer Science 2025-06-11 Noam Zilberstein

Intrinsic definitional interpreters, definitional interpreters that operate on typing derivations instead of abstract syntax trees, have recently been studied as a promising methodology for defining dynamic semantics of programming…

Programming Languages · Computer Science 2026-05-06 Ke Sun , Di Wang , Yuyan Bao , Meng Wang , Dan Hao

We present a tool for verification of hybrid systems expressed in the sequential fragment of HCSP (Hybrid Communicating Sequential Processes). The tool permits annotating HCSP programs with pre- and postconditions, invariants, and proof…

Logic in Computer Science · Computer Science 2023-02-22 Huanhuan Sheng , Alexander Bentkamp , Bohua Zhan

An algorithm for computing the stable model semantics of logic programs is developed. It is shown that one can extend the semantics and the algorithm to handle new and more expressive types of rules. Emphasis is placed on the use of…

Logic in Computer Science · Computer Science 2007-05-23 Patrik Simons

Current approaches for formal verification of algorithms face important limitations. For specification, they cannot express algorithms naturally and concisely, especially for algorithms with states and flexible control flow. For…

Programming Languages · Computer Science 2025-05-01 Chengxi Yang , Shushu Wu , Qinxiang Cao

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

It is notoriously hard to correctly implement a multiparty protocol which involves asynchronous/concurrent interactions and the constraints on states of multiple participants. To assist developers in implementing such protocols, we propose…

Programming Languages · Computer Science 2018-06-26 Eduard Kamburjan , Tzu-Chun Chen

Verifying the functional correctness of programs with both classical and quantum constructs is a challenging task. The presence of probabilistic behaviour entailed by quantum measurements and unbounded while loops complicate the…

Programming Languages · Computer Science 2025-02-17 Huiling Wu , Yuxin Deng , Ming Xu