Joe Duffy

dblp:10/5443 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
0since 2021 · last 2012
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 67% Concurrent programming · 33%

Topics — the 6 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming › concurrency bugs
data race freedom
0.112012
Uniqueness and reference immutability for safe parallelism · OOPSLA 2012
Concurrent programming › concurrency correctness
safe parallelism
0.112012
Uniqueness and reference immutability for safe parallelism · OOPSLA 2012
Programming languages and type systems › type systems
soundness
0.112012
Uniqueness and reference immutability for safe parallelism · OOPSLA 2012
Programming languages and type systems › type systems › refinement types
type qualifiers
0.112012
Uniqueness and reference immutability for safe parallelism · OOPSLA 2012
Programming languages and type systems
type systems
0.112012
Uniqueness and reference immutability for safe parallelism · OOPSLA 2012
Programming languages and type systems › type systems › substructural type systems
uniqueness and immutability
0.112012
Uniqueness and reference immutability for safe parallelism · OOPSLA 2012
YearPublicationVenuePosition
2012 Uniqueness and reference immutability for safe parallelism
abstract
A key challenge for concurrent programming is that side-effects (memory operations) in one thread can affect the behavior of another thread. In this paper, we present a type system to restrict the updates to memory to prevent these unintended side-effects. We provide a novel combination of immutable and unique (isolated) types that ensures safe parallelism (race freedom and deterministic execution). The type system includes support for polymorphism over type qualifiers, and can easily create cycles of immutable objects. Key to the system's flexibility is the ability to recover immutable or externally unique references after violating uniqueness without any explicit alias tracking. Our type system models a prototype extension to C# that is in active use by a Microsoft team. We describe their experiences building large systems with this extension. We prove the soundness of the type system by an embedding into a program logic.
Colin S. Gordon, Matthew J. Parkinson, Jared Parsons, Aleks Bromfield, Joe Duffy
OOPSLA5