English
Related papers

Related papers: Proving Logical Atomicity using Lock Invariants

200 papers

In this paper we use pre existing language support for type modifiers and object capabilities to enable a system for sound runtime verification of invariants. Our system guarantees that class invariants hold for all objects involved in…

Programming Languages · Computer Science 2019-02-28 Isaac Oscar Gariano , Marco Servetto , Alex Potanin

Linear logic was conceived in 1987 by Girard and, in contrast to classical logic, restricts the usage of the structural inference rules of weakening and contraction. With this, atoms of the logic are no longer interpreted as truth, but as…

Logic in Computer Science · Computer Science 2021-10-04 Florian Chudigiewitsch

Despite the impressive adaptability of large language models (LLMs), challenges remain in ensuring their security, transparency, and interpretability. Given their susceptibility to adversarial attacks, LLMs need to be defended with an…

Artificial Intelligence · Computer Science 2024-10-11 Tomas Bueno Momcilovic , Beat Buesser , Giulio Zizzo , Mark Purcell , Dian Balta

The differentiable implementation of logic yields a seamless combination of symbolic reasoning and deep neural networks. Recent research, which has developed a differentiable framework to learn logic programs from examples, can even acquire…

Artificial Intelligence · Computer Science 2021-03-03 Hikaru Shindo , Masaaki Nishino , Akihiro Yamamoto

We introduce a framework for reasoning about the security of computer systems using modal logic. This framework is sufficiently expressive to capture a variety of known security properties, while also being intuitive and independent of…

Cryptography and Security · Computer Science 2023-09-19 Matvey Soloviev , Musard Balliu , Roberto Guanciale

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

Relational descriptions have been used in formalizing diverse computational notions, including, for example, operational semantics, typing, and acceptance by non-deterministic machines. We therefore propose a (restricted) logical theory…

Logic in Computer Science · Computer Science 2010-09-02 Andrew Gacek , Dale Miller , Gopalan Nadathur

Logical specifications play a key role in the formal analysis of behavioural models. Automating the derivation of such specifications is particularly valuable in complex systems, where manual construction is time-consuming and error-prone.…

Software Engineering · Computer Science 2025-06-11 Radoslaw Klimek , Julia Witek

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

The overall goal of this paper is to investigate the theoretical foundations of algorithmic verification techniques for first order linear logic specifications. The fragment of linear logic we consider in this paper is based on the linear…

Programming Languages · Computer Science 2007-05-23 M. Bozzano , G. Delzanno , M. Martelli

Verification of programs operating on heap-allocated data structures, for instance lists or trees, poses significant challenges due to the potentially unbounded size of such data structures. We present time-indexed heap invariants, a novel…

Logic in Computer Science · Computer Science 2026-03-16 Zafer Esen , Philipp Rümmer , Tjark Weber

Synchronisation classes are an important building block for shared memory concurrent programs. Thus to reason about such programs, it is important to be able to verify the implementation of these synchronisation classes, considering atomic…

Software Engineering · Computer Science 2018-06-27 Afshin Amighi , Marieke Huisman , Stefan Blom

In this paper, we study the problem of formal verification for Answer Set Programming (ASP), namely, obtaining a formal proof showing that the answer sets of a given (non-ground) logic program P correctly correspond to the solutions to the…

Logic in Computer Science · Computer Science 2020-09-23 Pedro Cabalar , Jorge Fandinno , Yuliya Lierler

Atomistic simulations generate large volumes of noisy structural data, yet extracting phase labels and continuous order parameters (OPs) in a robust and general manner remains challenging. Existing tools are often specialized to a limited…

Materials Science · Physics 2026-05-12 Hyuna Kwon , Babak Sadigh , Sebastien Hamel , Vincenzo Lordi , John Klepeis , Fei Zhou

Building a library of concurrent data structures is an essential way to simplify the difficult task of developing concurrent software. Lock-free data structures, in which processes can help one another to complete operations, offer the…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-12-18 Trevor Brown

Atomicity violation is one of the most serious types of bugs in concurrent programs. Synchronizations are commonly used to enforce atomicity. However, it is very challenging to place synchronizations correctly and sufficiently due to…

Software Engineering · Computer Science 2025-04-24 Zhuang Li , Qiuping Yi , Jeff Huang

We introduce a logical framework for the specification and verification of component-based systems, in which finitely many component instances are active, but the bound on their number is not known. Besides specifying and verifying…

Logic in Computer Science · Computer Science 2019-08-30 Marius Bozga , Radu Iosif , Joseph Sifakis

Sharing of notations and theories across an inheritance hierarchy of mathematical structures, e.g., groups and rings, is important for productivity when formalizing mathematics in proof assistants. The packed classes methodology is a…

Programming Languages · Computer Science 2020-09-22 Kazuhiko Sakaguchi

Recent frontier large language models (LLMs) have shown strong performance in identifying security vulnerabilities in large, mature open-source systems. As LLM-generated code becomes increasingly common, a natural goal is to prevent such…

Software Engineering · Computer Science 2026-05-13 Zhaorui Li , Chengyu Song

Matching logic is a logical framework for specifying and reasoning about programs using pattern matching semantics. A pattern is made up of a number of structural components and constraints. Structural components are syntactically matched,…

Logic in Computer Science · Computer Science 2024-11-01 Ádám Kurucz , Péter Bereczky , Dániel Horpácsi