Degrees of Separation: A Flexible Type System for Safe Concurrency

Y Xu, A Boruch-Gruszecki, M Odersky - Proceedings of the ACM on …, 2024 - dl.acm.org
Data races have long been a notorious problem in concurrent programming. They are hard
to detect, and lead to non-deterministic behaviours. There has been a lot of interest in type …

A generic approach to flow-sensitive polymorphic effects

CS Gordon - 31st European Conference on Object-Oriented …, 2017 - drops.dagstuhl.de
Abstract Effect systems are lightweight extensions to type systems that can verify a wide
range of important properties with modest developer burden. But our general understanding …

Separation logic contracts for a Java-like language with fork/join

C Haack, C Hurlin - … Conference on Algebraic Methodology and Software …, 2008 - Springer
We adapt a variant of permission-accounting separation logic to a concurrent Java-like
language with fork/join. To support both concurrent reads and information hiding, we …

Type-preserving garbage collectors

DC Wang, AW Appel - Proceedings of the 28th ACM SIGPLAN-SIGACT …, 2001 - dl.acm.org
By combining existing type systems with standard type-based compilation techniques, we
describe how to write strongly typed programs that include a function that acts as at racing …

Persisted specifications of method pre-and post-conditions for static checking

RA Deline, MA Fahndrich - US Patent 7,421,680, 2008 - Google Patents
40 simplest end of the range, a specifier can mark those methods that allocate and release
resource (s). A specifier can also limit the order in which an objects methods may be called …

Linearly qualified types: generic inference for capabilities and uniqueness

A Spiwack, C Kiss, JP Bernardy, N Wu… - Proceedings of the ACM …, 2022 - dl.acm.org
A linear parameter must be consumed exactly once in the body of its function. When
declaring resources such as file handles and manually managed memory as linear …

Syntactic soundness proof of a type-and-capability system with hidden state

F Pottier - Journal of functional programming, 2013 - cambridge.org
This paper presents a formal definition and machine-checked soundness proof for a very
expressive type-and-capability system, that is, a low-level type system that keeps precise …

A type system for certified binaries

Z Shao, V Trifonov, B Saha, N Papaspyrou - ACM Transactions on …, 2005 - dl.acm.org
A certified binary is a value together with a proof that the value satisfies a given specification.
Existing compilers that generate certified code have focused on simple memory and control …

A capability calculus for concurrency and determinism

T Terauchi, A Aiken - ACM Transactions on Programming Languages …, 2008 - dl.acm.org
This article presents a static system for checking determinism (technically, partial
confluence) of communicating concurrent processes. Our approach automatically detects …

Pointer life cycle types for lock-free data structures with memory reclamation

R Meyer, S Wolff - Proceedings of the ACM on Programming Languages, 2019 - dl.acm.org
We consider the verification of lock-free data structures that manually manage their memory
with the help of a safe memory reclamation (SMR) algorithm. Our first contribution is a type …