> ## Documentation Index
> Fetch the complete documentation index at: https://docs.state.space/llms.txt
> Use this file to discover all available pages before exploring further.

# Platform Features

> Brief overview of the State Space platform.

<CardGroup cols={3}>
  <Card title="Visual Test Design" icon="diagram-project" href="/docs/overview/features#visual-test-design" />

  <Card title="Input Parameterization" icon="square-root-variable" href="/docs/overview/features#input-parameterization" />

  <Card title="Path Exploration" icon="uncharted" href="/docs/overview/features#autonomous-path-exploration" />

  <Card title="Test Suite Generation " icon="vial-circle-check" href="/docs/overview/features#test-suite-generation" />

  <Card title="State Validation" icon="shield-halved" href="/docs/overview/features#state-analysis-%26-validation" />

  <Card title="Collaboration" icon="people-arrows" href="/docs/overview/features#collaboration" />
</CardGroup>

## Visual Test Design

Map end-to-end, multi-contract user flows and interactions from your smart contract code via drag-and-drop, instead of manually hand-crafting test scenarios and edge cases.  Explore the state space of any transaction sequence you design.

<Frame>
  <img src="https://mintcdn.com/statespace/1PV0vXIcGni_BZ3w/media/images/VisualTestDesign.png?fit=max&auto=format&n=1PV0vXIcGni_BZ3w&q=85&s=9ceee64656fb744239f1da0213479d4d" width="3466" height="2098" data-path="media/images/VisualTestDesign.png" />
</Frame>

***

## Input Parameterization

Configure concrete and symbolic input values to control the breadth of the state space search. State Space will mathemtically synthesize the [structured dynamic inputs](/docs/overview/concepts#structured-dynamic-inputs) that excersise all feasible paths for the scenario throughout the protocol.

<Frame>
  <img src="https://mintcdn.com/statespace/1PV0vXIcGni_BZ3w/media/images/InputParameter.png?fit=max&auto=format&n=1PV0vXIcGni_BZ3w&q=85&s=a96eb5b0736647df631fe7d62136b43b" width="3327" height="1951" data-path="media/images/InputParameter.png" />
</Frame>

***

## Autonomous Path Exploration

Automatically enumerates all feasible execution paths by symbolically executing the bytecode under [full EVM semantics](/docs/overview/concepts#complete-evm-semantics), mathematically determining the input values and conditions. This approach maximizes depth and breadth of coverage and edge case discovery for any set of interoperating smart contracts.

<Frame>
  <img src="https://mintcdn.com/statespace/1PV0vXIcGni_BZ3w/media/images/Features-Test-Gen2.png?fit=max&auto=format&n=1PV0vXIcGni_BZ3w&q=85&s=d4fae9250f98d9b0fb6ae11380df5814" width="3080" height="1928" data-path="media/images/Features-Test-Gen2.png" />
</Frame>

***

## Test Suite Generation

Use the generated state space to export decoded, comprehensive, and **fully reproducible** Foundry and Hardhat test suites that represent the exact behavior of your code.  State Space verifies all output with multiple reference implementations to verify the accuracy of the test suite. Implement a workflow for automated regression test generation to surface the smallest of behavior changes with each code update.

<Frame>
  <img src="https://mintcdn.com/statespace/1PV0vXIcGni_BZ3w/media/images/TestCase.png?fit=max&auto=format&n=1PV0vXIcGni_BZ3w&q=85&s=b6e2f142113d2d66a3d96edcc14dab85" width="3080" height="1928" data-path="media/images/TestCase.png" />
</Frame>

***

## State Analysis & Validation

Use an intuitive visual interface to analyze, validate, and certify the protocol behavior. Inspect contract values, storage, balances, and state changes as a timeline across each transaction. Flag behaviors for correctness and unexpected behavior, uncovering edge cases that could impact reliability and security.

<Frame>
  <img src="https://mintcdn.com/statespace/1PV0vXIcGni_BZ3w/media/images/StateAnalysis.png?fit=max&auto=format&n=1PV0vXIcGni_BZ3w&q=85&s=1bd40d45bf2bfa265be46323d33bb207" width="3512" height="1930" data-path="media/images/StateAnalysis.png" />
</Frame>

***

## Collaboration

Invite internal peers or external auditors to participate in validation workflows. Share findings, collaborate on test cases, and streamline the testing and validation process through a unified interface.

<Frame>
  <img src="https://mintcdn.com/statespace/1PV0vXIcGni_BZ3w/media/images/Collaboration.png?fit=max&auto=format&n=1PV0vXIcGni_BZ3w&q=85&s=b68a45072be2128ecd261da5be3bdf54" width="3466" height="2098" data-path="media/images/Collaboration.png" />
</Frame>

***

## What can it help me do?

* Generate test suites that model end-to-end user flows, integration tests, and unit tests
* Validate business logic for unexpected/expected behavior
* Explore paths through multi-contract protocols
* Contract behavior using what-if scenarios
* Validate emitted data aligns with actual contract state change
* Surface areas of poor or strong input validation
* Automatically uncover arithmetic overflow/underflow conditions
* Revert analysis
* Uncover unexpected state changes
* Ensure state values properly update for every scenario
* Ability to detect compiler bugs
* Test deployment scripts
* Validate contract upgrades
* Collaborate with peers or auditors on verifying state behavior
* Model edge cases and PoCs
* and more...

***

## Benefits

* Uncover edge cases that manual testing misses
* Validate smart contract behavior
* Save weeks/months of engineering effort
* Increase code quality and security
* Accelerate time-to-market
* Pre-audit preparation to maximize value from audit engagements
* Get immediate feedback to remediate bugs or unintended functionality quickly
* Standardize testing quality among teams of varying skillsets
