English
Related papers

Related papers: A Formal C Memory Model for Separation Logic

200 papers

In quantum information and computation research, symbolic methods have been widely used for human specification and reasoning about quantum states and operations. At the same time, they are essential for ensuring the scalability and…

Programming Languages · Computer Science 2025-12-30 Mingsheng Ying

Most separation logics hide container-internal pointers for modularity. This makes it difficult to specify container APIs that temporarily expose those pointers to the outside, and to verify programs that use these APIs. We present logical…

Programming Languages · Computer Science 2025-12-08 Yawen Guan , Clément Pit-Claudel

Error Detection and Correction Codes (ECCs) are often used in digital designs to protect data integrity. Especially in safety-critical systems such as automotive electronics, ECCs are widely used and the verification of such complex logic…

Artificial Intelligence · Computer Science 2024-04-30 Aman Kumar

We propose a memory-model-aware static program analysis method for accurately analyzing the behavior of concurrent software running on processors with weak consistency models such as x86-TSO, SPARC-PSO, and SPARC-RMO. At the center of our…

Programming Languages · Computer Science 2017-09-29 Markus Kusano , Chao Wang

Failure detection protocols---a fundamental building block for crafting fault-tolerant distributed systems---are in many cases described by their authors making use of informal pseudo-codes of their conception. Often these pseudo-codes use…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-04-15 Vincenzo De Florio , Chris Blondia

We provide a denotational semantics for first-order logic that captures the two-level view of the computation process typical for constraint programming. At one level we have the usual program execution. At the other level an automatic…

Logic in Computer Science · Computer Science 2007-05-23 K. R. Apt , C. F. M. Vermeulen

The training and inference of large language models (LLMs) are together a costly process that transports knowledge from raw data to meaningful computation. Inspired by the memory hierarchy of the human brain, we reduce this cost by…

Computation and Language · Computer Science 2025-01-29 Hongkang Yang , Zehao Lin , Wenjin Wang , Hao Wu , Zhiyu Li , Bo Tang , Wenqiang Wei , Jinbo Wang , Zeyun Tang , Shichao Song , Chenyang Xi , Yu Yu , Kai Chen , Feiyu Xiong , Linpeng Tang , Weinan E

Pointer arithmetic is widely used in low-level programs, e.g. memory allocators. The specification of such programs usually requires using pointer arithmetic inside inductive definitions to define the common data structures, e.g. heap lists…

Logic in Computer Science · Computer Science 2024-03-05 Wanyun Su , Zhilin Wu , Mihaela Sighireanu

We present a novel and well automatable approach to formal verification of C programs with underspecified semantics, i.e., a language semantics that leaves open the order of certain evaluations. First, we reduce this problem to…

Programming Languages · Computer Science 2022-08-10 Eduard Kamburjan , Nathan Wasser

Functional programming languages are particularly well-suited for building automated reasoning systems, since (among other reasons) a logical term is well modeled by an inductive type, traversing a term can be implemented generically as a…

Programming Languages · Computer Science 2020-06-02 Daniel Selsam , Simon Hudon , Leonardo de Moura

This paper introduces and explores a new programming paradigm, Model-based Programming, designed to address the challenges inherent in applying deep learning models to real-world applications. Despite recent significant successes of deep…

Machine Learning · Computer Science 2023-05-15 Meng Zheng

We present a new type system with support for proofs of programs in a call-by-value language with control operators. The proof mechanism relies on observational equivalence of (untyped) programs. It appears in two type constructors, which…

Logic in Computer Science · Computer Science 2016-04-08 Rodolphe Lepigre

The hardware/software boundary in modern heterogeneous multicore computers is increasingly complex, and diverse across different platforms. A single memory access by a core or DMA engine traverses multiple hardware translation and caching…

Operating Systems · Computer Science 2017-03-21 Reto Achermann , Lukas Humbel , David Cock , Timothy Roscoe

Simulations offer opportunities in the examination of manufacturing processes. They represent various aspects of the production process and the associated production systems. However, often a single simulation does not suffice to provide a…

Software Engineering · Computer Science 2024-11-26 Jonathan Reif , Tom Jeleniewski , Aljosha Köcher , Tim Frerich , Felix Gehlhoff , Alexander Fay

Type-based amortised resource analysis following Hofmann and Jost---where resources are associated with individual elements of data structures and doled out to the programmer under a linear typing discipline---have been successful in…

Logic in Computer Science · Computer Science 2015-07-01 Robert Atkey

Concept learning is a form of supervised machine learning that operates on knowledge bases in description logics. State-of-the-art concept learners often rely on an iterative search through a countably infinite concept space. In each…

Machine Learning · Statistics 2026-03-13 Louis Mozart Kamdem Teyou , Caglar Demir , Axel-Cyrille Ngonga Ngomo

We present Security Relaxed Separation Logic (SecRSL), a separation logic for proving information-flow security of C11 programs in the Release-Acquire fragment with relaxed accesses. SecRSL is the first security logic that (1) supports…

Cryptography and Security · Computer Science 2021-09-10 Pengbo Yan , Toby Murray

Reasoning is a core capability of large language models, yet how multi-step reasoning is learned and executed remains unclear. We study this question in a controlled cellular-automata (1dCA) framework that excludes memorisation by using…

Sequential programming and work-flow programming are two useful, but radically different, ways of describing computational processing. Of the two, it is sequential programming that we teach all programmers and support by programming…

Programming Languages · Computer Science 2011-08-24 William Harrison

Numerical applications and, more recently, machine learning applications rely on high-dimensional data that is typically organized into multi-dimensional tensors. Many existing frameworks, libraries, and domain-specific languages support…

Programming Languages · Computer Science 2018-01-29 Norman A. Rink