English
Related papers

Related papers: Incorrectness Separation Logic with Arrays and Poi…

200 papers

Incorrectness Separation Logic (ISL) is a proof system that is tailored specifically to resolve problems of under-approximation in programs that manipulate heaps, and it primarily focuses on bug detection. This approach is different from…

Logic in Computer Science · Computer Science 2025-08-05 Yeonseok Lee , Koji Nakazawa

Sound over-approximation methods have been proved effective for guaranteeing the absence of errors, but inevitably they produce false alarms that can hamper the programmers. Conversely, under-approximation methods are aimed at bug finding…

Logic in Computer Science · Computer Science 2026-01-23 Flavio Ascari , Roberto Bruni , Roberta Gori , Francesco Logozzo

For over two decades Separation Logic has been arguably the most popular framework for reasoning about heap-manipulating programs, as well as reasoning about shared resources and permissions. Separation Logic is often extended to include…

Logic in Computer Science · Computer Science 2025-12-05 Neta Elad , Adithya Murali , Sharon Shoham

Quantitative separation logic (QSL) is an extension of separation logic (SL) for the verification of probabilistic pointer programs. In QSL, formulae evaluate to real numbers instead of truth values, e.g., the probability of memory-safe…

Logic in Computer Science · Computer Science 2022-01-28 Kevin Batz , Ira Fesefeldt , Marvin Jansen , Joost-Pieter Katoen , Florian Keßler , Christoph Matheja , Thomas Noll

Over-approximating (OX) program logics, such as separation logic (SL), are used for verifying properties of heap-manipulating programs: all terminating behaviour is characterised, but established results and errors need not be reachable. OX…

Logic in Computer Science · Computer Science 2023-08-31 Petar Maksimović , Caroline Cronjäger , Andreas Lööw , Julian Sutherland , Philippa Gardner

O'Hearn's Incorrectness Logic (IL) has sparked renewed interest in static analyses that aim to detect program errors rather than prove their absence, thereby avoiding false alarms -- a critical factor for practical adoption in industrial…

Logic in Computer Science · Computer Science 2026-01-23 Flavio Ascari , Roberto Bruni , Roberta Gori , Azalea Raad

Separation Logic is an effective Program Logic for proving programs that involve pointers. Reasoning with pointers becomes difficult especially when there is aliasing arising due to several pointers to a given cell location. In this paper,…

Logic in Computer Science · Computer Science 2017-04-07 Abhishek Kr Singh , Raja Natrajan

Separation logic's compositionality and local reasoning properties have led to significant advances in scalable static analysis. But program analysis has new challenges -- many programs display computational effects and, orthogonally,…

Logic in Computer Science · Computer Science 2024-03-15 Noam Zilberstein , Angelina Saliling , Alexandra Silva

SEAL is a static analyser for the verification of programs that manipulate unbounded linked data structures. It is based on separation logic to represent abstract memory states and, unlike other separation-logic-based approaches, it employs…

Software Engineering · Computer Science 2026-02-09 Tomáš Brablec , Tomáš Dacík , Tomáš Vojnar

We investigate array separation logic (ASL), a variant of symbolic-heap separation logic in which the data structures are either pointers or arrays, i.e., contiguous blocks of allocated memory. This logic provides a language for…

Logic in Computer Science · Computer Science 2016-11-21 James Brotherston , Nikos Gorogiannis , Max Kanovich

Memory-safety issues and information leakage are known to be depressingly common. We consider the compositional static detection of these kinds of vulnerabilities in first-order C-like programs. Indeed the latter are relational hyper-safety…

Programming Languages · Computer Science 2023-08-22 Toby Murray , Pengbo Yan , Gidon Ernst

Probabilistic independence is a useful concept for describing the result of random sampling---a basic operation in all probabilistic languages---and for reasoning about groups of random variables. Nevertheless, existing verification methods…

Programming Languages · Computer Science 2020-07-21 Gilles Barthe , Justin Hsu , Kevin Liao

Foundational verification considers the functional correctness of programming languages with formalized semantics and uses proof assistants (e.g., Coq, Isabelle) to certify proofs. The need for verifying complex programs compels it to…

Programming Languages · Computer Science 2025-07-08 Qiyuan Xu , David Sanan , Zhe Hou , Xiaokun Luan , Conrad Watt , Yang Liu

We introduce IsalProgram (Instruction Set and Language for Programming), a novel assembly-like programming language with three distinctive theoretical properties: (1) it is a regular language in the sense of formal language theory, meaning…

Programming Languages · Computer Science 2026-05-19 Ezequiel López-Rubio

Splitting a logic program allows us to reduce the task of computing its stable models to similar tasks for its subprograms. This can be used to increase solving performance and prove program correctness. We generalize the conditions under…

Artificial Intelligence · Computer Science 2025-03-30 Jorge Fandinno , Yuliya Lierler

{log} (read 'setlog') was born as a Constraint Logic Programming (CLP) language where sets and binary relations are first-class citizens, thus fostering set programming. Internally, {log} is a constraint satisfiability solver implementing…

Logic in Computer Science · Computer Science 2026-03-13 Maximiliano Cristiá , Alfredo Capozucca , Gianfranco Rossi

Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant,…

Programming Languages · Computer Science 2026-02-09 Liam O'Connor , Pilar Selene Linares Arevalo , Christine Rizkallah

Bounded verification has proved useful to detect bugs and to increase confidence in the correctness of a program. In contrast to unbounded verification, reasoning about calls via (bounded) inlining and about loops via (bounded) unrolling…

Logic in Computer Science · Computer Science 2023-03-14 Thibault Dardinier , Gaurav Parthasarathy , Peter Müller

Program logics for bug-finding (such as the recently introduced Incorrectness Logic) have framed correctness and incorrectness as dual concepts requiring different logical foundations. In this paper, we argue that a single unified theory…

Logic in Computer Science · Computer Science 2023-03-14 Noam Zilberstein , Derek Dreyer , Alexandra Silva

Logical reasoning about program data often requires dealing with heap structures as well as scalar data types. Recent advances in Satisfiability Modular Theory (SMT) already offer efficient procedures for dealing with scalars, yet they lack…

Logic in Computer Science · Computer Science 2013-03-12 Juan Antonio Navarro-Pérez , Andrey Rybalchenko
‹ Prev 1 2 3 10 Next ›