WoofWare.PawPrint es un runtime determinista para .NET inspirado en CHESS, el sistema de Microsoft Research para la verificación sistemática de programas concurrentes. El proyecto, publicado en NuGet en una versión inicial, interpreta el IL (lenguaje intermedio) de .NET 10 y reemplaza únicamente los intrínsecos del JIT y el código nativo de la BCL (biblioteca de clases base) por implementaciones modeladas a mano. Su objetivo declarado es ofrecer depuración con viaje en el tiempo y un control preciso sobre la historia de ejecución.
En su estado actual, PawPrint implementa piezas suficientes para ejecutar casos representativos: Console.WriteLine, métodos async void Main, Task.Run, una parte significativa de la API de reflexión y primitivas de sincronización de bajo nivel como Monitor. Para planificar los hilos emplea una variante de Probabilistic Concurrency Testing (PCT), una técnica de Microsoft Research que maximiza la exploración de entrelazados «interesantes» de los hilos en busca de condiciones de carrera.
El autor evaluó el motor con seis condiciones de carrera estándar inspiradas en Deadlock Empire. En cada prueba, el arnés de pruebas localizó el fallo de forma determinista, a menudo con pocas semillas de aleatorización. El propio autor advierte de que el proyecto aún no es apto para uso general: la BCL contiene grandes cantidades de código nativo que debe modelarse explícitamente en PawPrint, y cualquier programa que se apoye en una parte no modelada hará fallar al runtime. Un trabajo previsto es permitir que el usuario conecte sus propias implementaciones para evitar quedar bloqueado por la incompletitud de las integradas.
El diseño interno mantiene un modelo muy rico de la máquina IL con seguimiento de procedencia: cada puntero conoce a qué objeto, campo o método apunta, y cada arreglo de bytes sabe si representa una proyección de un objeto gestionado o datos arbitrarios del usuario. Los resultados aritméticos distinguen, por ejemplo, entre una suma de enteros puros y una diferencia de punteros dentro del mismo arreglo. El desarrollo combinó arquitectura manual con asistencia de Claude Sonnet 4.6, Gemini 2 Pro, Claude Opus 4.6/7 y GPT-5.5; una decisión arquitectónica delegada por completo a GPT-5.5 tuvo que reescribirse a mano por la pérdida de procedencia que provocaba.
