Systems Correctness Practices at Amazon Web Services

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. loom

    Concurrency permutation testing tool for Rust.

    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

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. 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

  4. 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/

  5. 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

  6. rr

    Record and Replay Framework

    https://rr-project.org/ for languages that can be debugged by gdb.

  7. mgmt

    Next generation distributed, event-driven, parallel config management!

    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!

  8. P

    The P programming language.

  9. turmoil

    Add hardship to your tests

    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

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Gokiburi: Automatic Test Runs for Go Projects

    5 projects | /r/golang | 7 May 2023
  • Gossip Glomers: Fly.io Distributed Systems Challenges

    2 projects | news.ycombinator.com | 22 Feb 2023
  • Mocking database queries - ask for opinion

    6 projects | /r/golang | 9 Jul 2022
  • Python/Django to Golang questions

    13 projects | /r/golang | 6 May 2022
  • Http server request from within a Gofight test

    1 project | /r/golang | 18 Aug 2021

Did you know that Rust is
the 3rd most popular programming language
based on number of references?