Sylvan Clebsch
YOU?
Author Swipe
View article: Dynamic Region Ownership for Concurrency Safety
Dynamic Region Ownership for Concurrency Safety Open
The ways in which the components of a program interact with each other in a concurrent setting can be considerably more complex than in a sequential setting. The core problem is unrestricted shared mutable state. An alternative to unrestri…
View article: Trieste: A C++ DSL for Flexible Tree Rewriting
Trieste: A C++ DSL for Flexible Tree Rewriting Open
Compilation is all about tree rewriting. In functional languages where all data is tree-shaped, tree rewriting is facilitated by pattern matching, but data immutability leads to copying for each update. In object-oriented languages like Ja…
View article: Confidential Container Groups
Confidential Container Groups Open
Implementing confidential computing on Azure container instances.
View article: Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual Abstract
Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual Abstract Open
Immutable data structures are a powerful tool for building concurrent programs. They allow the sharing of data without the need for locks or other synchronisation mechanisms. This makes it much easier to reason about the correctness of the…
View article: Confidential Container Groups
Confidential Container Groups Open
The experiments presented here demonstrate that Parma, the architecture that drives confidential containers on Azure container instances, adds less than one percent additional performance overhead beyond that added by the underlying TEE. I…
View article: Why Should I Trust Your Code?
Why Should I Trust Your Code? Open
Confidential computing enables users to authenticate code running in TEEs, but users also need evidence this code is trustworthy.
View article: Confidential Consortium Framework: Secure Multiparty Applications with Confidentiality, Integrity, and High Availability
Confidential Consortium Framework: Secure Multiparty Applications with Confidentiality, Integrity, and High Availability Open
Confidentiality, integrity protection, and high availability, abbreviated to CIA, are essential properties for trustworthy data systems. The rise of cloud computing and the growing demand for multiparty applications however means that buil…
View article: Reference Capabilities for Flexible Memory Management
Reference Capabilities for Flexible Memory Management Open
Verona is a concurrent object-oriented programming language that organises all the objects in a program into a forest of isolated regions. Memory is managed locally for each region, so programmers can control a program's memory use by adju…
View article: When Concurrency Matters: Behaviour-Oriented Concurrency
When Concurrency Matters: Behaviour-Oriented Concurrency Open
Expressing parallelism and coordination is central for modern concurrent programming. Many mechanisms exist for expressing both parallelism and coordination. However, the design decisions for these two mechanisms are tightly intertwined. W…
View article: Why Should I Trust Your Code?
Why Should I Trust Your Code? Open
For Confidential Computing to become ubiquitous in the cloud, in the same way that HTTPS became the default for networking, a different, more flexible approach is needed. Although there is no guarantee that every malicious code behavior wi…
View article: Parma: Confidential Containers via Attested Execution Policies
Parma: Confidential Containers via Attested Execution Policies Open
Container-based technologies empower cloud tenants to develop highly portable software and deploy services in the cloud at a rapid pace. Cloud privacy, meanwhile, is important as a large number of container deployments operate on privacy-s…
View article: AMP
AMP Open
Advances in graphics and machine learning have led to the general availability of easy-to-use tools for modifying and synthesizing media. The proliferation of these tools threatens to cast doubt on the veracity of all media. One approach t…
View article: IA-CCF: Individual Accountability for Permissioned Ledgers
IA-CCF: Individual Accountability for Permissioned Ledgers Open
Permissioned ledger systems allow a consortium of members that do not trust one another to execute transactions safely on a set of replicas. Such systems typically use Byzantine fault tolerance (BFT) protocols to distribute trust, which on…
View article: PAC: Practical Accountability for CCF.
PAC: Practical Accountability for CCF. Open
Permissioned ledger systems execute transactions on a set of replicas governed by members of a consortium. They use Byzantine fault tolerance protocols to distribute trust among the replicas, and thus can ensure linearizability if fewer th…
View article: Toward Confidential Cloud Computing
Toward Confidential Cloud Computing Open
Although largely driven by economies of scale, the development of the modern cloud also enables increased security. Large data centers provide aggregate availability, reliability, and security assurances. The operational cost of ensuring t…
View article: AMP: Authentication of Media via Provenance
AMP: Authentication of Media via Provenance Open
Advances in graphics and machine learning have led to the general availability of easy-to-use tools for modifying and synthesizing media. The proliferation of these tools threatens to cast doubt on the veracity of all media. One approach t…
View article: Correctness of a Concurrent Object Collector for Actor Languages
Correctness of a Concurrent Object Collector for Actor Languages Open
ORCA is a garbage collection protocol for actor-based programs. Multiple actors may mutate the heap while the collector is running without any dedicated synchronisation. ORCA is applicable to any actor language whose type system prevents d…
View article: Orca: GC and type system co-design for actor languages
Orca: GC and type system co-design for actor languages Open
ORCA is a concurrent and parallel garbage collector for actor programs, which does not require any STW steps, or synchronization mechanisms, and that has been designed to support zero-copy message passing and sharing of mutable data. ORCA …
View article: Pony: co-designing a type system and a runtime
Pony: co-designing a type system and a runtime Open
We have developed a new programming language, called Pony, that allows the user to easily write fast, safe, parallel programs. The focus of this work is using a powerful and novel static type system to guarantee properties of a program in …