# 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](https://antithesis.com/docs/introduction/using_antithesis_with_ai.md): Leverage AI to get answers to your burning Antithesis related questions. Build fast and test faster using Antithesis. ## Get started - [Setup guide](https://antithesis.com/docs/getting_started/setup_guide.md): Setup guide section for how to package and configure your software with Docker Compose or Kubernetes. - [Docker Compose setup guide](https://antithesis.com/docs/getting_started/setup_guide/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/getting_started/setup_guide/setup_k8s.md): Set up your software for testing in our Kubernetes environment. Package manifests, push images, and run your first test. - [Test an example system](https://antithesis.com/docs/getting_started/tutorials.md) - [With Docker Compose](https://antithesis.com/docs/getting_started/tutorials/docker_compose.md) - [Build and run an etcd cluster](https://antithesis.com/docs/getting_started/tutorials/docker_compose/cluster-setup.md) - [Add a test template](https://antithesis.com/docs/getting_started/tutorials/docker_compose/cluster-test.md) - [With Kubernetes](https://antithesis.com/docs/getting_started/tutorials/kubernetes.md) - [Build and run an etcd cluster](https://antithesis.com/docs/getting_started/tutorials/kubernetes/k8s-cluster-setup.md) - [Add a test template](https://antithesis.com/docs/getting_started/tutorials/kubernetes/k8s-cluster-test.md) ## Concepts - [Properties and Assertions](https://antithesis.com/docs/concepts/properties_assertions/overview.md): Properties and assertions overview. Express how your system should behave with assertions instead of example-based tests. - [Properties in Antithesis](https://antithesis.com/docs/concepts/properties_assertions/properties.md): Always and sometimes properties, default and custom properties, and how Antithesis analyses properties. - [Assertions in Antithesis](https://antithesis.com/docs/concepts/properties_assertions/assertions.md): Overview of assertions: expressing properties, the message parameter and language-specific implementations. - [Sometimes Assertions](https://antithesis.com/docs/concepts/properties_assertions/sometimes_assertions.md): Use sometimes assertions to verify code reachability and assess test coverage. - [Properties to test for](https://antithesis.com/docs/concepts/properties_assertions/reliability_properties.md): Guide to functional and concurrency properties for testing distributed systems, including ACID, CAP, and fault models. - [Overview](https://antithesis.com/docs/concepts/fault_injection.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/concepts/fault_injection/fault_types.md) - [Pausing faults](https://antithesis.com/docs/concepts/fault_injection/pause_faults.md) - [Fault events in logs and reports](https://antithesis.com/docs/concepts/fault_injection/fault_logs.md) ## Product - [Test templates](https://antithesis.com/docs/product/test_templates.md) - [Creating test templates](https://antithesis.com/docs/product/test_templates/first_test.md) - [Test commands](https://antithesis.com/docs/product/test_templates/test_composer_reference.md) - [How to check a test template locally](https://antithesis.com/docs/product/test_templates/testing_locally.md) - [How to port tests to Antithesis](https://antithesis.com/docs/product/test_templates/composer_example.md) - [Test launchers](https://antithesis.com/docs/product/test_launchers.md): Configure and launch Antithesis tests from the web app. - [The triage report](https://antithesis.com/docs/product/reports.md): The triage report in Antithesis - [Findings](https://antithesis.com/docs/product/reports/findings.md): Findings in Antithesis - [Environment](https://antithesis.com/docs/product/reports/environment.md) - [Utilization](https://antithesis.com/docs/product/reports/utilization.md) - [Properties](https://antithesis.com/docs/product/reports/properties.md) - [Logs Explorer & multiverse map](https://antithesis.com/docs/product/logs_explorer.md): Search and visualize logs across multiple execution paths in Antithesis test runs with the Logs Explorer tool. - [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) - [CI integration](https://antithesis.com/docs/product/tooling_integrations/ci.md) - [Discord and Slack integrations](https://antithesis.com/docs/product/tooling_integrations/discord_slack.md) - [Issue tracker integration - BETA](https://antithesis.com/docs/product/tooling_integrations/issue_tracker_integration.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. ## 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. ## Reference - [REST 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) - [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 - [Coverage instrumentation](https://antithesis.com/docs/reference/instrumentation/coverage_instrumentation.md): How Antithesis uses coverage instrumentation to track code coverage of your software. - [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 instrumentor tool](https://antithesis.com/docs/reference/sdk/go/instrumentor.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 SDK](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) - [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) - [.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](https://antithesis.com/docs/reference/webhook/overview.md): Webhooks for Antithesis - [Launching a test](https://antithesis.com/docs/reference/webhook/test_webhook.md) - [Launching a debugging session](https://antithesis.com/docs/reference/webhook/notebook_webhook.md) - [Webhook parameters](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 - [Product FAQs](https://antithesis.com/docs/faq/customer_faq.md): Common questions about validating setups, test frequency, mocks, logging, and using Antithesis testing features. - [About Antithesis POCs](https://antithesis.com/docs/faq/poc_faq.md): Common questions about Antithesis proof-of-concepts, including POC structure and what kind of bug to look for. ## Release notes - [Release notes](https://antithesis.com/docs/release_notes.md) ## General reliability resources - [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. - [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. - [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.