English
Related papers

Related papers: Exact Separation Logic (Extended Version)

200 papers

Thanks to the locality principle, separation logics support modular, scalable analysis of large codebases by relying on local axioms and frame rules to focus only on the heap fragments required for verification. However, depending on the…

Logic in Computer Science · Computer Science 2026-05-21 Roberto Bruni , Lorenzo Gazzella , Roberta Gori

The increased computerization in recent years has resulted in the production of a variety of different software, however measures need to be taken to ensure that the produced software isn't defective. Many researchers have worked in this…

Software Engineering · Computer Science 2023-04-06 Param Khakhar and , Rahul Kumar Dubey

We study transformational program logics for correctness and incorrectness that we extend to explicitly handle both termination and nontermination. We show that the logics are abstract interpretations of the right image transformer for a…

Logic in Computer Science · Computer Science 2023-11-27 Patrick Cousot

This paper presents matching logic, a first-order logic (FOL) variant for specifying and reasoning about structure by means of patterns and pattern matching. Its sentences, the patterns, are constructed using variables, symbols, connectives…

Logic in Computer Science · Computer Science 2019-03-14 Grigore Rosu

Understanding a program's runtime reasoning behavior, meaning how intermediate states and control flows lead to final execution results, is essential for reliable code generation, debugging, and automated reasoning. Although large language…

Software Engineering · Computer Science 2025-12-02 Mohammad Abdollahi , Khandaker Rifah Tasnia , Soumit Kanti Saha , Jinqiu Yang , Song Wang , Hadi Hemmati

Heap-manipulating programs are known to be challenging to reason about. We present a novel verifier for heap-manipulating programs called S2TD, which encodes programs systematically in the form of Constrained Horn Clauses (CHC) using a…

Programming Languages · Computer Science 2022-09-21 Quang Loc Le , Jun Sun , Long H. Pham , Shengchao Qin

We develop the first two heap logics that have implicit heaplets and that admit FO-complete program verification. The notion of FO-completeness is a theoretical guarantee that all theorems that are valid when recursive definitions are…

Logic in Computer Science · Computer Science 2026-01-13 Adithya Murali , Hrishikesh Balakrishnan , Aaron Councilman , P. Madhusudan

Definite descriptions are expressions of the form "the unique $x$ satisfying property $C$," which allow reference to objects through their distinguishing characteristics. They play a crucial role in ontology and query languages, offering an…

Logic in Computer Science · Computer Science 2025-12-09 Michał Sochański , Przemysław Andrzej Wałęga , Michał Zawidzki

Automatically proving separation logic entailments is a fundamental challenge in verification. While rule-based methods rely on separation logic rules (lemmas) for automation, these rule statements are insufficient for describing automation…

Software Engineering · Computer Science 2025-12-08 Zhiyi Wang , Xiwei Wu , Yi Fang , Chengtao Li , Hongyi Zhong , Lihan Xie , Qinxiang Cao , Zhenjiang Hu

Satisfiability-based automated reasoning is an approach that is being successfully used in software engineering to validate complex software, including for safety-critical systems. Such reasoning underlies many validation activities, from…

Software Engineering · Computer Science 2024-09-17 Nick Feng , Lina Marsso , Marsha Chechik

Separation Logic is a non-classical logic used to verify pointer-intensive code. In this paper, however, we show that Separation Logic, along with its natural extensions, can also be used as a specification language for concurrent-system…

Logic in Computer Science · Computer Science 2009-11-12 Edgar G. Daylight , Sandeep K. Shukla , Davide Sergio

Ensuring that safety-critical applications behave as intended is an important yet challenging task. Modeling languages like differential dynamic logic (dL) have proof calculi capable of proving guarantees for such applications. However, dL…

Formal Languages and Automata Theory · Computer Science 2024-10-08 Myra Dotzel , Stefan Mitsch , André Platzer

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

We design various logics for proving hyper properties of iterative programs by application of abstract interpretation principles. In part I, we design a generic, structural, fixpoint abstract interpreter parameterized by an algebraic…

Logic in Computer Science · Computer Science 2024-11-19 Patrick Cousot , Jeffery Wang

Separation logic is a substructural logic which has proved to have numerous and fruitful applications to the verification of programs working on dynamic data structures. Recently, Barthe, Hsu and Liao have proposed a new way of giving…

Cryptography and Security · Computer Science 2024-05-21 Ugo Dal Lago , Davide Davoli , Bruce M. Kapron

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

Modern separation logics allow one to prove rich properties of intricate code, e.g. functional correctness and linearizability of non-blocking concurrent code. However, this expressiveness leads to a complexity that makes these logics…

Programming Languages · Computer Science 2021-08-16 Felix A. Wolf , Malte Schwerhoff , Peter Müller

{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

NLP models are susceptible to learning spurious biases (i.e., bugs) that work on some datasets but do not properly reflect the underlying task. Explanation-based model debugging aims to resolve spurious biases by showing human users…

Computation and Language · Computer Science 2022-11-01 Dong-Ho Lee , Akshen Kadakia , Brihi Joshi , Aaron Chan , Ziyi Liu , Kiran Narahari , Takashi Shibuya , Ryosuke Mitani , Toshiyuki Sekiya , Jay Pujara , Xiang Ren

Extensible Markup Language (XML) is a widely used file format for data storage and transmission. Many XML processors support XPath, a query language that enables the extraction of elements from XML documents. These systems can be affected…

Software Engineering · Computer Science 2024-01-11 Shuxin Li , Manuel Rigger