CUTECat: Concolic Execution for Computational Law

When the Simplest Concurrent Program Goes Against All Intuition

Alloy 6.2.0 released

Verified post-quantum cryptography on the web

About Safety, Security and yes, C++ and Rust (2023)

How can we compare expressive power between two Turing-complete languages?

Formal Methods: Just Good Engineering Practice? (2024)

TLA+ Monthly Development Update - December 2024

The Hoare Cube

Stuff I learnt in 2024

Symbolic Execution by Overloading __bool__

Controlling Nondeterminism in Model-Based Tests with Prophecy Variables

Formally Modeling Dreidel, the Sequel

jspin: GUI for running the SPIN model checker

Reading the Generalized Isolation Level Definitions paper with Alloy

A Science of Concurrent Programs (final draft)

Obtaining statistical properties through modeling and simulation

Semantics of Programming (video lectures that go with the "Concrete Semantics" book)

GenMC: Model checking for concurrent C programs

How we prevent conflicts in authoritative DNS configuration using formal verification

Rust Foundation Collaborates with AWS to Verify Rust Standard Libraries

Model checking safety of Ben-Or’s Byzantine consensus with Apalache

A Liveness Example in TLA+

It's not enough for a program to work – it has to work for the right reasons

Specifying serializability in TLA+

An unexpected discovery: Automated reasoning often makes systems more efficient and easier to maintain

TLA+ Wiki

The RAISE specification language, method, and tools

Why I use TLA+ and not(TLA+)

TLA from first principles

More →