English
Related papers

Related papers: Separation Logic for Small-step Cminor

200 papers

Concurrent separation logic (CSL) is a specification logic for concurrent imperative programs with shared memory and locks. In this paper, we develop a concurrent and interactive account of the logic inspired by asynchronous game semantics.…

Programming Languages · Computer Science 2018-07-24 Paul-André Melliès , Léo Stefanesco

Recently, authors have proposed under-approximate logics for reasoning about programs. So far, all such logics have been confined to reasoning about individual program behaviours. Yet there exist many over-approximate relational logics for…

Logic in Computer Science · Computer Science 2020-03-12 Toby Murray

Commutativity reasoning based on Lipton's movers is a powerful technique for verification of concurrent programs. The idea is to define a program transformation that preserves a subset of the initial set of interleavings, which is sound…

Programming Languages · Computer Science 2026-01-21 Namratha Gangamreddypalli , Constantin Enea , Shaz Qadeer

It has been argued that computational thinking should precede computer programming in the course of a career in computing. This argument is the basis for the slogan "logic first, syntax later" and the development of many cryptic syntax…

Computers and Society · Computer Science 2018-11-13 Patrick Vanvorce , Hasan M. Jamil

We introduce Wasm Logic, a sound program logic for first-order, encapsulated WebAssembly. We design a novel assertion syntax, tailored to WebAssembly's stack-based semantics and the strong guarantees given by WebAssembly's type system, and…

Programming Languages · Computer Science 2020-05-22 Conrad Watt , Petar Maksimović , Neelakantan R. Krishnaswami , Philippa Gardner

We introduce Clerical, a programming language for exact real-number computation that combines first-order imperative-style programming with a limit operator for computation of real numbers as limits of Cauchy sequences. We address the…

Logic in Computer Science · Computer Science 2024-09-19 Andrej Bauer , Sewon Park , Alex Simpson

Hoare logic provides a syntax-oriented method to reason about program correctness and has been proven effective in the verification of classical and probabilistic programs. Existing proposals for quantum Hoare logic either lack completeness…

Logic in Computer Science · Computer Science 2022-06-29 Yuan Feng , Mingsheng Ying

We introduce Cryptis, an extension of the Iris separation logic that can be used to verify cryptographic components using the symbolic model of cryptography. The combination of separation logic and cryptographic reasoning allows us to prove…

Cryptography and Security · Computer Science 2025-07-15 Arthur Azevedo de Amorim , Amal Ahmed , Marco Gaboardi

The correctness of many algorithms and data structures depends on reachability properties, that is, on the existence of chains of references between objects in the heap. Reasoning about reachability is difficult for two main reasons. First,…

Programming Languages · Computer Science 2019-08-19 Arshavir Ter-Gabrielyan , Alexander J. Summers , Peter Müller

Step-by-step reasoning is widely used to enhance the reasoning ability of large language models (LLMs) in complex problems. Evaluating the quality of reasoning traces is crucial for understanding and improving LLM reasoning. However,…

Computation and Language · Computer Science 2025-09-23 Jinu Lee , Julia Hockenmaier

Designing scalable concurrent objects, which can be efficiently used on multicore processors, often requires one to abandon standard specification techniques, such as linearizability, in favor of more relaxed consistency requirements.…

Logic in Computer Science · Computer Science 2016-07-22 Ilya Sergey , Aleksandar Nanevski , Anindya Banerjee , German Andres Delbianco

This paper describes a formal proof library, developed using the Coq proof assistant, designed to assist users in writing correct diagrammatic proofs, for 1-categories. This library proposes a deep-embedded, domain-specific formal language,…

Logic in Computer Science · Computer Science 2024-03-01 Benoît Guillemet , Assia Mahboubi , Matthieu Piquerez

We present a tool called HHLPar for verifying hybrid systems modelled in Hybrid Communicating Sequential Processes (HCSP). HHLPar is built upon a Hybrid Hoare Logic for HCSP, which is able to reason about continuous-time properties of…

Logic in Computer Science · Computer Science 2025-11-13 Xiangyu Jin , Bohua Zhan , Shuling Wang , Naijun Zhan

As software systems increase in size and complexity dramatically, ensuring their correctness, security, and reliability becomes an increasingly formidable challenge. Despite significant advancements in verification techniques and tools,…

A simple dynamically-typed, (purely) object-oriented language is defined. A structural operational semantics as well as a Hoare-style program logic for reasoning about programs in the language in multiple notions of correctness are given.…

Programming Languages · Computer Science 2016-01-12 Björn Engelmann , Ernst-Rüdiger Olderog

Linear Logic refines Intuitionnistic Logic by taking into account the resources used during the proof and program computation. In the past decades, it has been extended to various frameworks. The most famous are indexed linear logics which…

Logic in Computer Science · Computer Science 2026-01-14 Flavien Breuvart , Marie Kerjean , Simon Mirwasser

Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities such as denial-of-service attacks. To make termination checks scale to large systems,…

Software Engineering · Computer Science 2015-05-19 Hong-Yi Chen , Cristina David , Daniel Kroening , Peter Schrammel , Björn Wachter

Separation is a classical problem asking whether, given two sets belonging to some class, it is possible to separate them by a set from a smaller class. We discuss the separation problem for regular languages. We give a Ptime algorithm to…

Formal Languages and Automata Theory · Computer Science 2013-04-26 Thomas Place , Lorijn van Rooijen , Marc Zeitoun

Choreographic programming is a paradigm where a concurrent or distributed system is developed in a top-down fashion. Programs, called choreographies, detail the desired interactions between processes, and can be compiled to distributed…

Programming Languages · Computer Science 2023-05-01 Luís Cruz-Filipe , Eva Graversen , Fabrizio Montesi , Marco Peressotti

Type soundness is an important property of modern programming languages. In this paper we explore the idea that "well-typed languages are sound": the idea that the appropriate typing discipline over language specifications guarantees that…

Programming Languages · Computer Science 2016-11-17 Matteo Cimini , Dale Miller , Jeremy G. Siek
‹ Prev 1 3 4 5 6 7 10 Next ›