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. (by facebookexperimental)
stabilizer
Stabilizer: Rigorous Performance Evaluation (by plasma-umass)
hermit | stabilizer | |
---|---|---|
8 | 1 | |
1,137 | 16 | |
40.6% | - | |
7.7 | 10.0 | |
10 days ago | over 9 years ago | |
Rust | Perl | |
GNU General Public License v3.0 or later | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hermit
Posts with mentions or reviews of hermit.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-18.
-
Hermit is a hermetic and reproducible sandbox for running programs
That's been my experience as well. It lacks support for certain clone(2) flags like CLONE_VFORK[1], which limits the set of non-trivial programs it can run, and since running non-trivial programs is most of the point, I haven't revisited it since it was first announced.
[1] https://github.com/facebookexperimental/hermit/blob/bd3153b4...
-
So you think you want to write a deterministic hypervisor?
A Meta developer responded to an issue of mine on Hermit, and said:
"Just to let you know we're not actively working on Hermit in the team..."
https://github.com/facebookexperimental/hermit/issues/34#iss...
-
Is Something Bugging You?
I really like antithesis' approach: it's non-intrusive as all the changes are on a VM so one can run deterministic simulation without changing their code. It's also technically challenging, as making a VM suitable for deterministic simulation is not an easy feat.
On a side, I was wondering how this approach compares to Meta's Hermit(https://github.com/facebookexperimental/hermit), which is a deterministic Linux instead of a VM.
-
Deterministic Linux for Controlled Testing and Software Bug-Finding
> AMA!
Eager to try it but encountering the build error here - https://github.com/facebookexperimental/hermit/issues/11
Do you have a reference build log / environment you can share? Last known good commit sha and/or output from "rustup show"?
-
Deterministic Linux for Controlled Testing and Software Bug-finding
Here is the GitHub repository: https://github.com/facebookexperimental/hermit
stabilizer
Posts with mentions or reviews of stabilizer.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-11-22.
-
Deterministic Linux for Controlled Testing and Software Bug-finding
This seems like it could be combined with https://github.com/plasma-umass/stabilizer (currently unmaintained and out of date) to control for most of the unwanted variables in profiling.
What are some alternatives?
When comparing hermit and stabilizer you can also consider the following projects:
sapling - A Scalable, User-Friendly Source Control System.
reverie - An ergonomic and safe syscall interception framework for Linux.