RustBelt: Securing the foundations of the Rust programming language

R Jung, JH Jourdan, R Krebbers, D Dreyer - Proceedings of the ACM on …, 2017 - dl.acm.org
Rust is a new systems programming language that promises to overcome the seemingly
fundamental tradeoff between high-level safety guarantees and low-level control over …

Ownership types: A survey

D Clarke, J Östlund, I Sergey, T Wrigstad - Aliasing in object-oriented …, 2013 - Springer
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection
to object-oriented programming languages. Rather than simply protecting the fields of an …

Futhark: purely functional GPU-programming with nested parallelism and in-place array updates

T Henriksen, NGW Serup, M Elsman… - Proceedings of the 38th …, 2017 - dl.acm.org
Futhark is a purely functional data-parallel array language that offers a machine-neutral
programming model and an optimising compiler that generates OpenCL code for GPUs …

Checking interference with fractional permissions

J Boyland - International Static Analysis Symposium, 2003 - Springer
We describe a type system for checking interference using the concept of linear capabilities
(which we call “permissions”). Our innovations include the concept of “fractional” …

{RedLeaf}: isolation and communication in a safe operating system

V Narayanan, T Huang, D Detweiler, D Appel… - … USENIX Symposium on …, 2020 - usenix.org
RedLeaf is a new operating system developed from scratch in Rust to explore the impact of
language safety on operating system organization. In contrast to commodity systems …

Behavioral types in programming languages

D Ancona, V Bono, M Bravetti, J Campos… - … and Trends® in …, 2016 - nowpublishers.com
A recent trend in programming language research is to use behavioral type theory to ensure
various correctness properties of largescale, communication-intensive systems. Behavioral …

Effective typestate verification in the presence of aliasing

SJ Fink, E Yahav, N Dor, G Ramalingam… - ACM Transactions on …, 2008 - dl.acm.org
This article addresses the challenge of sound typestate verification, with acceptable
precision, for real-world Java programs. We present a novel framework for verification of …

Rozzle: De-cloaking internet malware

C Kolbitsch, B Livshits, B Zorn… - 2012 IEEE Symposium …, 2012 - ieeexplore.ieee.org
JavaScript-based malware attacks have increased in recent years and currently represent a
signicant threat to the use of desktop computers, smartphones, and tablets. While static and …

Flow-sensitive type qualifiers

JS Foster, T Terauchi, A Aiken - Proceedings of the ACM SIGPLAN 2002 …, 2002 - dl.acm.org
We present a system for extending standard type systems with flow-sensitive type qualifiers.
Users annotate their programs with type qualifiers, and inference checks that the …

[PDF][PDF] Verification of object-oriented programs with invariants

M Barnett, R DeLine, M Fähndrich… - Journal of Object …, 2004 - courses.cs.washington.edu
An object invariant defines what it means for an object's data to be in a consistent state.
Object invariants are central to the design and correctness of objectoriented programs. This …