dettrace

A determinizing tracer using Ptrace (by dettrace)

Dettrace Alternatives

Similar projects and alternatives to dettrace

  • sapling

    A Scalable, User-Friendly Source Control System.

  • mininet

    Emulator for rapid prototyping of Software Defined Networks

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • shadow

    Shadow is a discrete-event network simulator that directly executes real application code, enabling you to simulate distributed systems with thousands of network-connected processes in realistic and scalable private network experiments using your laptop, desktop, or server running Linux. (by shadow)

  • core

    4 dettrace VS core

    Common Open Research Emulator (by coreemu)

  • 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)

  • reverie

    An ergonomic and safe syscall interception framework for Linux. (by facebookexperimental)

  • shadow-plugin-tor

    Discontinued A Shadow plug-in that runs the Tor anonymity software

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • imunes

    Integrated Multiprotocol Network Emulator/Simulator

  • testground

    🧪 A platform for testing, benchmarking, and simulating distributed and p2p systems at scale.

  • werf

    A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better dettrace alternative or higher similarity.

dettrace reviews and mentions

Posts with mentions or reviews of dettrace. 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
    5 projects | news.ycombinator.com | 22 Nov 2022
    Note that this is a follow-on project from the earlier Dettrace system, which was applied mainly to reproducible builds (as in the academic paper, https://dl.acm.org/doi/10.1145/3373376.3378519, and presented to the Debian Reproducible Builds summit):

    - https://github.com/dettrace/dettrace

    And one cool part of it is this Rust program instrumentation layer:

    - https://github.com/facebookexperimental/reverie

    It's good for building OS-emulator style projects or tracing tools.

  • Shadow Simlulator – run real applications over a simulated Internet topology
    11 projects | news.ycombinator.com | 19 Apr 2021
    We've started looking into eBPF a bit - IIUC eBPF by itself doesn't give us the ability to service or arbitrarily manipulate the traced process's syscalls.

    We have recently learned of an interesting technique that dettrace [1] uses of combining seccomp with an eBPF filter and ptrace. Instead of generating a ptrace-stop for every syscall (as we do now, using PTRACE_SYSEMU), they use a seccomp policy with an eBPF filter, s.t. a ptrace-stop is only generated for syscalls that violate the policy, allowing them to emulate the result of those syscalls. syscalls that don't violate the policy are allowed to execute natively, saving a lot of overhead.

    [1]: https://github.com/dettrace/dettrace

    This works great for them since they want to emulate a relatively small subset of syscalls. In our case we want to emulate most syscalls, so it's not as clear-cut of a win. We have found though that if we use an LD_PRELOAD'd shim in the target process to intercept syscalls and then service them via IPC, that's substantially faster than catching them with ptrace. That runs back into the problems with LD_PRELOAD in general of there being various ways of missing syscalls. but, we may be able to use that technique along with ptrace+seccomp+ebpf to intercept any syscalls that we'd otherwise miss. The seccomp technique would allow us to exempt the syscalls that our shim itself is making to do the IPC.

Stats

Basic dettrace repo stats
2
29
2.6
over 3 years ago

dettrace/dettrace is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.

The primary programming language of dettrace is C++.


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