Debugging large, distributed information systems
Antithesis, a developer of a debugging platform for large, distributed systems.
https://newsletter.pragmaticengineer.com/p/antithesis
Introduction:
Present status for software debugging tools:
The Antithesis debugging solution:
"Antithesis is not only a time-traveling debugger, though. A good way to describe it is as 'Deterministic Simulation Testing (DST) as a service.' Deterministic Simulation Testing (DST) is a technique of building a simulation in which software can run in a single thread, and where you’re in control of all variables like time, randomness, etc., in order to achieve determinism during testing."
AND...
"Because implementing DST is so difficult, Antithesis made the computer/hypervisordeterministic, instead. This means anything that runs on this Antithesis computer/hypervisor can be tested with DST, without doing everything yourself.
And thanks to running a fully deterministic environment, Antithesis can manipulate it into weird states on purpose, which allows developers to inspect weird states and bugs to find out their causes."
CLASSIC LARGE SYSTEM DESIGN PROBLEM:
"Large systems probably don’t 'fit inside the head' of any person, which can make reasoning through the state machine the old fashioned way, much harder. Also, the sheer length of time and numbers of people it takes to build these systems, means there are many opportunities to lose institutional knowledge, or memories to fade."
From Antithesis.com:
AND...
The unique challenges of large systems: