/features/reflectionOfCurrentBehavior.svgSymbolic execution

Symflower’s technology

Symflower relies on symbolic execution to generate high-coverage JUnit tests for your Java, Spring, or Spring Boot applications.

Our IDE plugin symbolically executes your code to identify the input values that trigger the execution of all possible paths in your code resulting in high-coverage tests for your source code.

/features/symbolicExecution.svg
/features/symbolicExecution.svg

Works where you are

Symflower is available in the IDE of your choice, your favorite terminal and as a CI/CD integration.

Try Symflower

features/IDEs.svg
features/IDEs.svg

About symbolic execution

features/targetedValues.svg

Meaningful unit tests & targeted values

Symflower’s test suites contain essential tests that cover all possible unique paths of your code. Test candidates are computed instead of being randomly chosen, resulting in mathematical precision and the highest test coverage possible.

features/targetedValues.svg

Efficient & convenient testing

Unit tests generated by Symflower are easy to read and understand. Generated test templates follow mainstream conventions, test inputs are optimized for reading, and mocks are used automatically for both Java and Spring Boot applications.

features/highQualityTestCases.svg
features/highQualityTestCases.svg
features/plugAndPlay.svg

Complex data types

Not restricted to primitive data types and simple source code. Symflower can handle and analyze concepts such as complex data types, interfaces and object orientation.

features/plugAndPlay.svg

Slim unit test suites

No redundant test cases. Each generated test case adds value by executing a new behavior of a function.

features/analyze.svg
features/analyze.svg

Symbolic execution with Symflower

/img/features/in-a-nutshell.svg

Test template generation

Generate all the boilerplate code for unit testing, and focus on your actual test candidates.

/img/features/test-magnifier.svg

Debugging edge cases

Generated tests reveal edge cases for you to debug, and provide instant reproducers for your source code.

/img/features/bug-red.svg

Problem detection

Symflower works out-of-the-box. Install the plugin in your IDE or download the CLI version and get started.

/img/features/faster.svg

Real-time test generation

Forget having to figure out how to design inputs to test a certain part of your source code. Generate JUnit tests rapidly and with mathematical precision.

/img/features/asset_shiny-code.svg

Automatic mocking

Automatically generate mocks for interfaces with their behavioral checks, and handle all unanticipated possibilities. Mocking is supported for both Java and Spring Boot applications.

/img/features/asset_offline.svg

Completely local

Symflower runs on your machine and does not send your code to any servers.

Learn more about symbolic execution

/en/company/blog/2021/symbolic-execution/images/header-noribbon.png

What is symbolic execution for software programs?

Understand symbolic execution, the solution that helps Symflower automatically create unit test cases with high coverage.

Learn more
/en/company/blog/2023/symbolic-execution-vs-fuzzing/images/header-noribbon.svg

Symbolic execution vs fuzzing for creating test values

Fuzzing and symbolic execution are alternatives for automatically creating test values. Find out about the pros and cons of each technique.

Read post
/en/company/blog/2023/symflower-github-copilot/images/header-noribbon.png

Symflower & GitHub Copilot: AI vs Symbolic Execution

Find out how to efficiently combine a generative AI tool like GitHub Copilot with a test generation tool like Symflower in your daily coding workflow.

Go to article

Get started with Symflower

Ready to start generating JUnit tests for your Java, Spring, and Spring Boot projects? Install Symflower and use it for free.

Try for free See plans & pricing