English
Related papers

Related papers: A separation logic for sequences in pointer progra…

200 papers

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

Separation logic is a Hoare-style logic for reasoning about programs with heap-allocated mutable data structures. As a step toward extending separation logic to high-level languages with ML-style general (higher-order) storage, we…

Logic in Computer Science · Computer Science 2015-07-01 Jan Schwinghammer , Lars Birkedal , Bernhard Reus , Hongseok Yang

Bounded model checking of pointer programs is a debugging technique for programs that manipulate dynamically allocated pointer structures on the heap. It is based on the following four observations. First, error conditions like dereference…

Logic in Computer Science · Computer Science 2016-03-02 Witold Charatonik , Piotr Witkowski

Separation logic is a concise method for specifying programs that manipulate dynamically allocated storage. Partially inspired by separation logic, Implicit Dynamic Frames has recently been proposed, aiming at first-order tool support. In…

Programming Languages · Computer Science 2015-07-01 Matthew J. Parkinson , Alexander J. Summers

We introduce a new dynamic analysis technique to discover invariants in separation logic for heap-manipulating programs. First, we use a debugger to obtain rich program execution traces at locations of interest on sample inputs. These…

Programming Languages · Computer Science 2019-07-02 Ton Chanh Le , Guolong Zheng , ThanhVu Nguyen

Interval temporal logics provide a general framework for temporal reasoning about interval structures over linearly ordered domains, where intervals are taken as the primitive ontological entities. In this paper, we identify all fragments…

Logic in Computer Science · Computer Science 2012-10-10 Davide Bresolin , Dario Della Monica , Angelo Montanari , Pietro Sala , Guido Sciavicco

Rule-based reasoning is an essential part of human intelligence prominently formalized in artificial intelligence research via logic programs. Describing complex objects as the composition of elementary ones is a common strategy in computer…

Artificial Intelligence · Computer Science 2023-12-15 Christian Antic

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

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

The satisfiability problem of hybrid logics with the downarrow binder is known to be undecidable. This initiated a research program on decidable and tractable fragments. In this paper, we investigate the effect of restricting the…

Logic in Computer Science · Computer Science 2015-03-13 Arne Meier , Martin Mundhenk , Thomas Schneider , Michael Thomas , Volker Weber , Felix Weiss

This paper presents a new technique for data slicing of distributed programs running on a hierarchy of machines. Data slicing can be realized as a program transformation that partitions heaps of machines in a hierarchy into independent…

Programming Languages · Computer Science 2014-02-25 Mohamed A. El-Zawawy

Dynamic memory issues are hard to locate and may cost much of a development project's efforts and was repeatedly reported similarly afterwards independently by different persons. Verification as one formal method may proof a given program's…

Logic in Computer Science · Computer Science 2019-06-28 René Haberland , Kirill Krinkin

Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly…

Programming Languages · Computer Science 2022-11-14 Roland Meyer , Thomas Wies , Sebastian Wolff

Many important functional and security properties--including non-interference, determinism, and generalized non-interference (GNI)--are hyperproperties, i.e., properties relating multiple executions of a program. Existing separation logics…

Programming Languages · Computer Science 2026-04-21 Trayan Gospodinov , Peter Müller , Thibault Dardinier

We show how to give a coherent semantics to programs that are well-specified in a version of separation logic for a language with higher types: idealized algol extended with heaps (but with immutable stack variables). In particular, we…

Logic in Computer Science · Computer Science 2017-01-11 Lars Birkedal , Noah Torp-Smith , Hongseok Yang

In this paper, we develop a novel verification technique to reason about programs featuring concurrency, pointers and randomization. While the integration of concurrency and pointers is well studied, little is known about the combination of…

Logic in Computer Science · Computer Science 2024-10-01 Ira Fesefeldt , Joost-Pieter Katoen , Thomas Noll

We show that strict deterministic propositional dynamic logic with intersection is highly undecidable, solving a problem in the Stanford Encyclopedia of Philosophy. In fact we show something quite a bit stronger. We introduce the…

Logic in Computer Science · Computer Science 2023-11-08 Robert Goldblatt , Marcel Jackson

Hypertrace logic is a sorted first-order logic with separate sorts for time and execution traces. Its formulas specify hyperproperties, which are properties relating multiple traces. In this work, we extend hypertrace logic by introducing…

Logic in Computer Science · Computer Science 2025-10-15 Marek Chalupa , Thomas A. Henzinger , Ana Oliveira da Costa

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

We investigate the complexity consequences of adding pointer arithmetic to separation logic. Specifically, we study extensions of the points-to fragment of symbolic-heap separation logic with various forms of Presburger arithmetic…

Logic in Computer Science · Computer Science 2018-03-09 James Brotherston , Max Kanovich