I&#x27;m not sure that merely checking the result of some set of operations - whether a mutex is held by the expected process - tells you very much about the validity of how that mutex was obtained (assuming interleaving requests and such). This is where you need to explore the history, which is what the linearizability checker does and which is what Jepsen tests generally use.<p>It is a bit of work and learning curve writing a Jepsen test suite, but it&#x27;s not too bad, particularly with the excellent docs that Kyle has recently written:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;aphyr&#x2F;jepsen&#x2F;blob&#x2F;master&#x2F;doc&#x2F;scaffolding.md" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;aphyr&#x2F;jepsen&#x2F;blob&#x2F;master&#x2F;doc&#x2F;scaffolding....</a>