Skip to content
Tech News
← Back to articles

WoofWare.PawPrint, a Deterministic .NET Runtime

read original more articles

Announcing WoofWare.PawPrint, a deterministic .NET runtime

I just released an early version of WoofWare.PawPrint to NuGet.

PawPrint is a deterministic .NET runtime - think CHESS. It runs the BCL of .NET 10. It interprets IL, shimming out only the BCL’s JIT intrinsics and native code: there are no shortcuts.

Enough is implemented that it can do:

Console.Writeline

async void Main(string[] args) {...}

Task.Run

A whole load of reflection

Many of the low-level synchronisation primitives like Monitor

It uses a variant of Probabilistic Concurrency Testing when scheduling threads, in an attempt to maximise the exploration of “interesting” thread orderings.

... continue reading