# Antithesis Documentation > Antithesis is an autonomous software testing platform that finds deep bugs using deterministic simulation and continuous fuzzing. This is the index of the documentation; each entry links to the page's raw-markdown (.md) form. ## Introduction - [Welcome to Antithesis](https://antithesis.com/docs/introduction/welcome.md): Explore our guides and examples for how to use Antithesis' autonomous testing platform. - [How Antithesis works](https://antithesis.com/docs/introduction/how_antithesis_works.md): Autonomous testing that generates test cases, explores system states, and reproduces bugs deterministically. ## Using Antithesis with AI - [Overview](https://antithesis.com/docs/ai/overview.md): Use AI to get answers to your burning Antithesis related questions. Build fast and test faster using Antithesis. - [Skills](https://antithesis.com/docs/ai/skills.md): Antithesis skills for coding agents. - [Snouty CLI](https://antithesis.com/docs/ai/snouty.md): How to use the Snouty CLI to launch and debug tests ## Setup - [Overview](https://antithesis.com/docs/setup/overview.md): Overview of how to set up your software for testing with Antithesis using Docker Compose or Kubernetes. - [Docker Compose setup guide](https://antithesis.com/docs/setup/docker_compose.md): Set up your software for testing in our Docker environment. Package your system, push images, and run your first test. - [Kubernetes setup guide](https://antithesis.com/docs/setup/kubernetes.md): Set up your software for testing in our Kubernetes environment. Package manifests, push images, and run your first test. - [Setup mode](https://antithesis.com/docs/setup/setup_mode.md): Iterate on your system setup with setup mode. - [Tooling integrations](https://antithesis.com/docs/setup/tooling_integrations.md) ## Product - [Writing tests](https://antithesis.com/docs/product/writing_tests.md) - [Test templates](https://antithesis.com/docs/product/writing_tests/test_templates.md) - [Creating test templates](https://antithesis.com/docs/product/writing_tests/test_templates/first_test.md) - [Test commands](https://antithesis.com/docs/product/writing_tests/test_templates/test_composer_reference.md) - [How to check a test template locally](https://antithesis.com/docs/product/writing_tests/test_templates/testing_locally.md) - [How to port tests to Antithesis](https://antithesis.com/docs/product/writing_tests/test_templates/composer_example.md) - [Asserting correctness](https://antithesis.com/docs/product/writing_tests/assertions.md): Overview of assertions: expressing properties, the message parameter and language-specific implementations. - [Coverage instrumentation](https://antithesis.com/docs/product/writing_tests/instrumentation/coverage_instrumentation.md): How Antithesis uses coverage instrumentation to track code coverage of your software. - [Controlling faults](https://antithesis.com/docs/product/writing_tests/controlling_faults.md): Overview of the types of faults that the fault injector produces, including network faults, node failures, and thread pausing - [Types of faults](https://antithesis.com/docs/product/writing_tests/controlling_faults/fault_types.md) - [Pausing faults](https://antithesis.com/docs/product/writing_tests/controlling_faults/pause_faults.md) - [Launching tests](https://antithesis.com/docs/product/launching_tests.md): How to launch Antithesis tests. - [Understand test results](https://antithesis.com/docs/product/understanding_test_results.md) - [Logs Explorer & multiverse map](https://antithesis.com/docs/product/understanding_test_results/logs_explorer.md): Search and visualize logs across multiple timelines in Antithesis test runs with the Logs Explorer tool. - [The triage report](https://antithesis.com/docs/product/understanding_test_results/reports.md): The triage report in Antithesis - [Findings](https://antithesis.com/docs/product/understanding_test_results/reports/findings.md): Findings in Antithesis - [Environment](https://antithesis.com/docs/product/understanding_test_results/reports/environment.md) - [Utilization](https://antithesis.com/docs/product/understanding_test_results/reports/utilization.md) - [Properties](https://antithesis.com/docs/product/understanding_test_results/reports/properties.md) - [Debugging](https://antithesis.com/docs/product/debugging.md): Introduction to causality analysis and multiverse debugging in Antithesis - [Causality analysis](https://antithesis.com/docs/product/debugging/causality_analysis.md) - [Simple Multiverse debugging](https://antithesis.com/docs/product/debugging/simple_mvd.md): How to use the Antithesis Multiverse Debugger to time-travel and do destructive analysis. - [Advanced mode](https://antithesis.com/docs/product/debugging/advanced_multiverse_debugging/overview.md) - [The Antithesis multiverse](https://antithesis.com/docs/product/debugging/advanced_multiverse_debugging/moment_branch.md) - [Querying with event sets](https://antithesis.com/docs/product/debugging/advanced_multiverse_debugging/event_sets.md) - [Environment utilities](https://antithesis.com/docs/product/debugging/advanced_multiverse_debugging/bash_env.md) - [Using the Antithesis Notebook](https://antithesis.com/docs/product/debugging/advanced_multiverse_debugging/antithesis_notebook.md) - [Cookbook notebook](https://antithesis.com/docs/product/debugging/advanced_multiverse_debugging/cookbook.md) ## Developer workflows - [Overview](https://antithesis.com/docs/workflows.md) - [Testing in the dev loop](https://antithesis.com/docs/workflows/dev-loop-workflow.md) - [Testing in the deploy loop](https://antithesis.com/docs/workflows/deployment-loop-workflow.md) - [I found a bug, now what?](https://antithesis.com/docs/workflows/found-a-bug.md) ## Configuration - [Access and authentication](https://antithesis.com/docs/configuration/auth.md): Configure SSO with GitHub or OIDC, manage machine credentials, and control report access for Antithesis users. - [The Antithesis environment](https://antithesis.com/docs/configuration/the_antithesis_environment.md): Details of the machine environment and container environment your software runs in. - [Tracking usage](https://antithesis.com/docs/configuration/usage.md) ## Best practices - [Docker best practices](https://antithesis.com/docs/best_practices/docker_best_practices.md): Docker Compose configuration best practices for Antithesis, with an example docker-compose file - [Kubernetes best practices](https://antithesis.com/docs/best_practices/k8s_best_practices.md) - [Optimizing for testing](https://antithesis.com/docs/best_practices/optimizing.md): Find bugs faster by configuring systems differently for testing to exercise rare code paths more frequently. - [Sometimes Assertions](https://antithesis.com/docs/best_practices/sometimes_assertions.md): Use sometimes assertions to verify code reachability and assess test coverage. ## Reference - [Antithesis API](https://antithesis.com/docs/reference/rest_api.md): Programmatic access to the Antithesis autonomous testing platform. - [Event sets](https://antithesis.com/docs/reference/event-set-reference.md) - [Event logs](https://antithesis.com/docs/reference/event_logs.md) - [Logs Explorer search](https://antithesis.com/docs/reference/logs_explorer_search.md): Reference for all fields, operators, and preset values available in the Logs Explorer search filter - [Default properties](https://antithesis.com/docs/reference/default_properties.md): Reference for default Antithesis properties, organized by group. - [SDKs](https://antithesis.com/docs/reference/sdk.md): Language SDKs for integrating Antithesis into your development lifecycle. - [Define test properties](https://antithesis.com/docs/reference/sdk/define_test_properties.md): Express test properties as assertions that don't crash your program on failure. - [Generate randomness](https://antithesis.com/docs/reference/sdk/generate_randomness.md): Request structured randomness from Antithesis instead of seeding your own RNG. - [Manage test lifecycle](https://antithesis.com/docs/reference/sdk/manage_test_lifecycle.md) - [Assertion catalog](https://antithesis.com/docs/reference/sdk/assertion_cataloging.md): How Antithesis uses assertion cataloging to track all assertions in your SUT. - [Go SDK](https://antithesis.com/docs/reference/sdk/go.md): Go SDK for Antithesis - [Go instrumentation](https://antithesis.com/docs/reference/sdk/go/instrumentation.md) - [Legacy Go instrumentation](https://antithesis.com/docs/reference/sdk/go/legacy_instrumentation.md) - [Go SDK tutorial, times10 function](https://antithesis.com/docs/reference/sdk/go/example.md) - [Assert (reference)](https://antithesis.com/docs/reference/sdk/go/assert.md) - [Lifecycle (reference)](https://antithesis.com/docs/reference/sdk/go/lifecycle.md) - [Random (reference)](https://antithesis.com/docs/reference/sdk/go/random.md) - [Java SDK](https://antithesis.com/docs/reference/sdk/java.md): Java SDK for Antithesis - [Using the SDK](https://antithesis.com/docs/reference/sdk/java/how_to_use_sdk.md): Learn how to use the Antithesis Java SDK in your code. - [Building your software when using the SDK](https://antithesis.com/docs/reference/sdk/java/how_to_build_with_sdk.md): Learn how to build and instrument Java applications with the Antithesis SDK. - [Java SDK tutorial, times10 method](https://antithesis.com/docs/reference/sdk/java/example.md) - [Assert (reference)](https://antithesis.com/docs/reference/sdk/java/assert.md) - [Lifecycle (reference)](https://antithesis.com/docs/reference/sdk/java/lifecycle.md) - [Random (reference)](https://antithesis.com/docs/reference/sdk/java/random.md) - [C](https://antithesis.com/docs/reference/sdk/c_sdk.md): C SDK for Antithesis - [C++ SDK](https://antithesis.com/docs/reference/sdk/cpp.md): C++ SDK for Antithesis - [C/C++ Instrumentation](https://antithesis.com/docs/reference/sdk/cpp/instrumentation.md) - [Legacy C/C++ Instrumentation](https://antithesis.com/docs/reference/sdk/cpp/old_c_instrumentation.md) - [C++ SDK tutorial, times10 function](https://antithesis.com/docs/reference/sdk/cpp/example.md) - [Assert macros (C++ SDK)](https://antithesis.com/docs/reference/sdk/cpp/assert.md) - [Lifecycle functions (C++ SDK)](https://antithesis.com/docs/reference/sdk/cpp/lifecycle.md) - [Random functions (C++ SDK)](https://antithesis.com/docs/reference/sdk/cpp/random.md) - [JavaScript SDK](https://antithesis.com/docs/reference/sdk/javascript_sdk.md): JavaScript SDK for Antithesis - [Python SDK](https://antithesis.com/docs/reference/sdk/python.md): Integrate Python applications with Antithesis using the Python SDK. - [Python SDK tutorial: times10 function](https://antithesis.com/docs/reference/sdk/python/example.md): Walk through writing assertions and using randomness in a tiny Python project. - [Assert (reference)](https://antithesis.com/docs/reference/sdk/python/assert.md) - [Lifecycle (reference)](https://antithesis.com/docs/reference/sdk/python/lifecycle.md) - [Random (reference)](https://antithesis.com/docs/reference/sdk/python/random.md) - [Catalog (reference)](https://antithesis.com/docs/reference/sdk/python/catalog.md) - [Rust SDK](https://antithesis.com/docs/reference/sdk/rust.md): Rust SDK for Antithesis - [Rust instrumentation](https://antithesis.com/docs/reference/sdk/rust/instrumentation.md) - [Legacy Rust instrumentation](https://antithesis.com/docs/reference/sdk/rust/legacy_instrumentation.md) - [Rust SDK tutorial, times10 function](https://antithesis.com/docs/reference/sdk/rust/example.md) - [Assert (reference)](https://antithesis.com/docs/reference/sdk/rust/assert.md) - [Lifecycle (reference)](https://antithesis.com/docs/reference/sdk/rust/lifecycle.md) - [Random (reference)](https://antithesis.com/docs/reference/sdk/rust/random.md) - [Catalog (reference)](https://antithesis.com/docs/reference/sdk/rust/catalog.md) - [.NET SDK](https://antithesis.com/docs/reference/sdk/dotnet.md): .NET SDK for Antithesis - [.NET instrumentation](https://antithesis.com/docs/reference/sdk/dotnet/instrumentation.md) - [.NET SDK tutorial, Times10 method](https://antithesis.com/docs/reference/sdk/dotnet/example.md) - [Assert (reference)](https://antithesis.com/docs/reference/sdk/dotnet/assert.md) - [Lifecycle (reference)](https://antithesis.com/docs/reference/sdk/dotnet/lifecycle.md) - [Random (reference)](https://antithesis.com/docs/reference/sdk/dotnet/random.md) - [Fallback SDK](https://antithesis.com/docs/reference/sdk/fallback.md): Fallback SDK for Antithesis - [Assertion functionality (Fallback SDK)](https://antithesis.com/docs/reference/sdk/fallback/assert.md) - [Lifecycle functionality (Fallback SDK)](https://antithesis.com/docs/reference/sdk/fallback/lifecycle.md) - [Antithesis Assertion Schema](https://antithesis.com/docs/reference/sdk/fallback/schema.md) - [Webhooks (Deprecated)](https://antithesis.com/docs/reference/webhook/overview.md): Webhooks for Antithesis - [Launching a test (Deprecated)](https://antithesis.com/docs/reference/webhook/test_webhook.md) - [Launching a debugging session (Deprecated)](https://antithesis.com/docs/reference/webhook/notebook_webhook.md) - [Webhook parameters (Deprecated)](https://antithesis.com/docs/reference/webhook/webhook_reference.md) - [Handling external dependencies](https://antithesis.com/docs/reference/dependencies.md) - [Glossary](https://antithesis.com/docs/reference/glossary.md) ## FAQ - [Prerequisites](https://antithesis.com/docs/faq/prerequisites.md): Prerequisites for testing in Antithesis, and helpful information for preparing for a proof-of-concept with Antithesis. - [About Standard POCs](https://antithesis.com/docs/faq/poc_faq.md): Common questions about Antithesis Standard proof-of-concepts, including structure and what kind of bug to look for. - [Product FAQs](https://antithesis.com/docs/faq/customer_faq.md): Common questions about validating setups, test frequency, mocks, logging, and using Antithesis testing features. ## Release notes - [Release notes](https://antithesis.com/docs/release_notes.md) ## General reliability resources - [How much does an outage cost?](https://antithesis.com/docs/resources/cost_of_outages.md): A framework and examples for calculating the business impact of a software outage. - [A distributed systems reliability glossary](https://antithesis.com/docs/resources/reliability_glossary.md): A list of key concepts for building and testing reliable distributed systems, with basic definitions and deep references. - [Techniques for better software testing](https://antithesis.com/docs/resources/testing_techniques.md): Learn practical ways to improve your software tests — from using randomness to swarm testing, concurrency, and better validations — to catch more bugs and build resilient software. - [Autonomous testing - how it works and when to use it](https://antithesis.com/docs/resources/autonomous_testing.md): Learn what autonomous testing is, and how it relates to property-based testing and automated testing. See which problems it solves, and which systems benefit most. - [Deterministic simulation testing - how it works and when to use it](https://antithesis.com/docs/resources/deterministic_simulation_testing.md): Learn what deterministic simulation testing is, how to implement it, and which systems benefit most. Uncover bugs faster with reproducible, simulation-based tests. - [Property-based testing - how it works and when to use it](https://antithesis.com/docs/resources/property_based_testing.md): Learn what property-based testing is, and how it relates to fuzzing and generative testing. See how to implement it, and which systems benefit most. Uncover unknown-unknowns faster with property-based tests. - [General software reliability properties](https://antithesis.com/docs/resources/reliability_properties.md): Guide to functional and concurrency properties for testing distributed systems, including ACID, CAP, and fault models. - [Catalog of reliability properties for key-value datastores](https://antithesis.com/docs/resources/kv_property_catalog.md): Learn how to test key-value datastores by defining core safety and liveness properties. Use our catalog to select applicable properties and generate effective property-based workloads. - [Catalog of reliability properties for blockchains](https://antithesis.com/docs/resources/blockchain_property_catalog.md): Learn how to test blockchain systems by defining core safety and liveness properties. Use our catalog to select applicable properties and generate effective property-based workloads. - [Test ACID compliance with a ring test](https://antithesis.com/docs/resources/ring_test.md): Learn how to test ACID compliant graph databases. Use our ring test workload to test your graph database. - [Test state machine replication with a chain of blocks workload](https://antithesis.com/docs/resources/chain-of-blocks.md): Learn how to test state machine replication. Use our chain of blocks workload to test your SMR.