activity
20182022
most citedNecessity Specifications for Robustness

1 citations · 1 across the 6 of their papers we have counts for

collaborators
Showing cs.PLShow all

8 papers · 1 filter

cs.PL20221 cited

Necessity Specifications for Robustness

Julian Mackay, Sophia Drossopoulou, James Noble +1

Robust modules guarantee to do only what they are supposed to do - even in the presence of untrusted, malicious clients, and considering not just the direct behaviour of individual…

cs.PL2022

Rusty Links in Local Chains

James Noble, Julian Mackay, Tobias Wrigstad

Rust successfully applies ownership types to control memory allocation. This restricts the programs' topologies to the point where doubly-linked lists cannot be programmed in Safe…

cs.PL2021

Dala: A Simple Capability-Based Dynamic Language Design For Data Race-Freedom

Kiko Fernandez-Reyes, Isaac Oscar Gariano, James Noble +3

Dynamic languages like Erlang, Clojure, JavaScript, and E adopted data-race freedom by design. To enforce data-race freedom, these languages either deep copy objects during actor (…

cs.PL2020

Holistic Specifications for Robust Programs

Sophia Drossopoulou, James Noble, Julian Mackay +1

Functional specifications describe what program components do: the sufficient conditions to invoke a component's operations. They allow us to reason about the use of components in…

cs.PL2019

Towards Gradual Checking of Reference Capabilities

Kiko Fernandez-Reyes, Isaac Oscar Gariano, James Noble +1

Concurrent and parallel programming is difficult due to the presence of memory side-effects, which may introduce data races. Type qualifiers, such as reference capabilities, can re…

cs.PL2019

Which of My Transient Type Checks Are Not (Almost) Free?

Isaac Oscar Gariano, Richard Roberts, Stefan Marr +2

One form of type checking used in gradually typed language is transient type checking: whenever an object 'flows' through code with a type annotation, the object is dynamically che…