Security Engineering – A Guide to Building Dependable Distributed Systems

ARMv8-A system semantics: instruction fetch in relaxed architectures

Seven deadly sins of talking about “types” (2014)

UTF-8 Was Designed by Ken Thompson and Rob Pike on a Placemat

Capsicum: Practical Capabilities for Unix

UTF-8 History (2003)

Janus: Statically-Driven Profile-Guided Automatic Dynamic Binary Parallelisation

CheriABI: Enforcing Valid Pointer Provenance and Minimizing Pointer Privilege

ISA Semantics for ARMv8-A, RISC-V, and CHERI-MIPS

Kiwi: High-Level Synthesis for Accelerating Scientific Computation

Cerberus – Semantic models for C

Stephen Kell, “The Mythical Matched Modules” (2009)

Mathematizing C++ Concurrency

Efficient, Tagged Memory (2017)

CHERI: Capability Hardware Enhanced RISC Instructions

Exploring C Semantics and Pointer Provenance

CheriRTOS: A Capability Model for Embedded Devices

Algebraic Principles for Program Correctness Tools in Isabelle HOL (2016)

Analysis of USB fan given to journalists at North Korea-Singapore Summit

Sketchpad: A man-machine graphical communication system [1963|thesis|pdf]

Some Were Meant For C

Fault attacks on secure chips: from glitch to flash (2011)

What you get is what you C: Controlling side effects in mainstream C compilers

Making Bitcoin Legal

Exploring New Attack Vectors for Exploitation of Smartphones (2017)

The Notion of Proof in Hardware Verification (draft) (1989)

ML For The Working Programmer, 2nd ed.

Some Were Meant for C: The Endurance of an Unmanageable Language

Network Semantics

Why Cryptosystems Fail (1993)

More →