1 citations · 1 across the 6 of their papers we have counts for
8 papers · 1 filter
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…
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…
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 (…
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…
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…
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…