-
Loom for Rust does this. We also adapted it for some C++ with good success (found actual bugs that slipped tests and reviewes).
https://github.com/tokio-rs/loom
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
keploy
Open-source platform for creating safe, isolated production sandboxes for API, integration, and E2E testing.
Keploy is doing the same thing, in same space - https://github.com/keploy/keploy
-
coyote
Coyote is a library and tool for testing concurrent C# code and deterministically reproducing bugs.
Microsoft has a flavor of this for .NET called Coyote[0]
[0] https://microsoft.github.io/coyote/#overview/how/
-
hermit
Hermit launches linux x86_64 programs in a special, hermetically isolated sandbox to control their execution. Hermit translates normal, nondeterministic behavior, into deterministic, repeatable behavior. This can be used for various applications, including replay-debugging, reproducible artifacts, chaos mode concurrency testing and bug analysis.
This is what hermit does, although it's no longer actively developed.
https://github.com/facebookexperimental/hermit
-
https://rr-project.org/ for languages that can be debugged by gdb.
-
It's very interesting (I applaud this) that one of the main goals seems to be to make it more approachable as compared to TLA+, but then they go in write it in C# which I consider to be an incredibly unapproachable community and language.
I'm not trying to draw the ire of the Microsoft fan boys, and there are certainly smart people working on that, but it's just not going to happen for most people.
Had this been in golang, or maybe java, I'm sure many more hands would be digging in! Having said that, I hope this helps bring correctness and validation more into the mainstream. I've been casually following the project for a while now.
My long-term goal is to integrate model validation into https://github.com/purpleidea/mgmt/ so if this is an area of interest to you, please let me know!
-
-
For Rust, there is Turmoil, though that is mostly focused on networking instead of the full scope you mentioned. That was originally written by engineers at AWS to test their services.
https://github.com/tokio-rs/turmoil