English
Related papers

Related papers: Reasoning about Promises in Weak Memory Models wit…

200 papers

For those of us who generally live in the world of syntax, semantic proof techniques such as reducibility, realizability or logical relations seem somewhat magical despite -- or perhaps due to -- their seemingly unreasonable effectiveness.…

Programming Languages · Computer Science 2020-07-28 Pierre-Évariste Dagand , Lionel Rieg , Gabriel Scherer

Probabilistic programming provides a convenient lingua franca for writing succinct and rigorous descriptions of probabilistic models and inference tasks. Several probabilistic programming languages, including Anglican, Church or Hakaru,…

Logic in Computer Science · Computer Science 2020-02-26 Tetsuya Sato , Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Justin Hsu

We present a new approach to automated reasoning about higher-order programs by endowing symbolic execution with a notion of higher-order, symbolic values. Our approach is sound and relatively complete with respect to a first-order solver…

Programming Languages · Computer Science 2016-03-22 Phuc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

Automated proof generation for formal software verification remains largely unresolved despite advances in large language models (LLMs). While LLMs perform well in NLP, vision, and code generation, formal verification still requires…

Logic in Computer Science · Computer Science 2026-04-10 Youngjoo Ahn , Sangyeop Yeo , Gijung Im , Jongmin Lee , Jinyoung Yeo , Jieung Kim

Large language models (LLMs) have achieved remarkable results on tasks framed as reasoning problems, yet their true ability to perform procedural reasoning, executing multi-step, rule-based computations remains unclear. Unlike algorithmic…

Artificial Intelligence · Computer Science 2025-11-20 Mahdi Samiei , Mahdi Mansouri , Mahdieh Soleymani Baghshah

Formal, mathematically rigorous programming language semantics are the essential prerequisite for the design of logics and calculi that permit automated reasoning about concurrent programs. We propose a novel modular semantics designed to…

Programming Languages · Computer Science 2022-02-25 Crystal Chang Din , Reiner Hähnle , Ludovic Henrio , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

Memory consistency models are notorious for being difficult to define precisely, to reason about, and to verify. More than a decade of effort has gone into nailing down the definitions of the ARM and IBM Power memory models, and yet there…

Programming Languages · Computer Science 2019-04-11 Sizhuo Zhang , Muralidaran Vijayaraghavan , Dan Lustig , Arvind

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

We present a framework to formally describe probabilistic system behavior and symbolically reason about it. In particular we aim at reasoning about possible failures and fault tolerance. We regard systems which are composed of different…

Software Engineering · Computer Science 2015-03-20 Jan Olaf Blech

The paper introduces a knowledge representation language that combines the event calculus with description logic in a logic programming framework. The purpose is to provide the user with an expressive language for modelling and analysing…

Logic in Computer Science · Computer Science 2021-09-13 Peter Baumgartner

We consider the problem of symbolic reachability analysis of higher-order context-free processes. These models are generalizations of the context-free processes (also called BPA processes) where each process manipulates a data structure…

Logic in Computer Science · Computer Science 2007-05-29 Ahmed Bouajjani , Antoine Meyer

We consider the verification of omega-regular linear temporal properties of concurrent programs running under weak memory semantics. We observe that in particular, these properties may enforce liveness clauses, whose verification in this…

Programming Languages · Computer Science 2024-09-10 Parosh Aziz Abdulla , Mohamed Faouzi Atig , Adwait Godbole , Shankaranarayanan Krishna , Mihir Vahanwala

We propose a type system for a calculus of contracting processes. Processes can establish sessions by stipulating contracts, and then can interact either by keeping the promises made, or not. Type safety guarantees that a typeable process…

Programming Languages · Computer Science 2019-03-14 Massimo Bartoletti , Alceste Scalas , Emilio Tuosto , Roberto Zunino

A coverage type generalizes refinement types found in many functional languages with support for must-style underapproximate reasoning. Property-based testing frameworks are one particularly useful domain where such capabilities are useful…

Programming Languages · Computer Science 2025-09-03 Zhe Zhou , Benjamin Delaware , Suresh Jagannathan

The objective of this paper is to present general, mechanically verified, refinement rules for reasoning about recursive programs and while loops in the context of concurrency. Unlike many approaches to concurrency, we do not assume that…

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

We extend the simply-typed guarded $\lambda$-calculus with discrete probabilities and endow it with a program logic for reasoning about relational properties of guarded probabilistic computations. This provides a framework for programming…

Programming Languages · Computer Science 2018-02-28 Alejandro Aguirre , Gilles Barthe , Lars Birkedal , Aleš Bizjak , Marco Gaboardi , Deepak Garg

Concurrent systems are notoriously difficult to analyze, and technological advances such as weak memory architectures greatly compound this problem. This has renewed interest in partial order semantics as a theoretical foundation for formal…

Logic in Computer Science · Computer Science 2015-04-02 Alex Horn , Daniel Kroening

Reachability logic has been applied to $\mathbb{K}$ rewrite-rule-based language definitions as a language-generic logic of programs. To be able to verify not just code but also distributed system designs, a new rewrite-theory-generic…

Programming Languages · Computer Science 2017-09-18 Stephen Skeirik , Andrei Stefanescu , José Meseguer

We introduce a sound and complete coinductive proof system for reachability properties in transition systems generated by logically constrained term rewriting rules over an order-sorted signature modulo builtins. A key feature of the…

Logic in Computer Science · Computer Science 2018-04-24 Ştefan Ciobâcă , Dorel Lucanu

Modern processors employ different prediction mechanisms to speculate over different kinds of instructions. Attackers can exploit these prediction mechanisms simultaneously in order to trigger leaks about speculatively-accessed data. Thus,…

Cryptography and Security · Computer Science 2022-09-05 Xaver Fabian , Marco Guarnieri , Marco Patrignani