commonGraphics/features/symbolicExecution-small.svgSymbolic Execution Rules

Symbolic Execution Rules

Symbolic execution is the most advanced generation technique when it comes to automated software testing.

features/symbolicExecution/symbolicExecution.svg

Targeted Values

Symbolic execution computes the necessary inputs for a function to execute all its relevant paths. The test candidates are computed rather than randomly chosen resulting in the highest test coverage possible.n.

features/symbolicExecution/targetedValues.svg
features/symbolicExecution/targetedValues.svg
features/symbolicExecution/eachTestCaseAddsValue.svg

Slim Test Suites

Symflower does not report redundant test cases. This means every generated test case adds value, because it executes some new behavior of a function.

features/symbolicExecution/eachTestCaseAddsValue.svg

Complex Data Types

Symbolic execution is not restricted to primitive data types and simple source code. Also concepts such as complex data types, interfaces and object orientation can be analysed using symbolic execution.

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

The Superior Discipline for Test Case Generation

Symbolic Execution equips your production code with test cases that are computed rather than randomly chosen. Requiring no manual effort to reach a high test coverage.

Manual Testing

Writing unit tests manually requires 30% to 50% of your development time, while still facing the risk of missing essential test cases.

Boundary Values

Boundary value analysis does not take the actual code coverage into account, resulting in very low test coverages.

Fuzzing

Fuzzing throws random values at your code, which means you rely on pure luck to find bugs in your software.

Safe Operator Usage

Symflower analyses for each operation, whether there is an input that leads to erroneous behavior. For instance every access to an array is checked for a possible buffer overflow.

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

Symflower Coverage

The Symflower coverage guiding our symbolic execution targets not only all relevant execution paths, but takes also each problematic operation into account.

features/symbolicExecution/symflowerCoverage.svg

Path Coverage

Symflower targets each relevant path through your function. In addition to a high path coverage it aims to reach full MC/DC coverage.

features/symbolicExecution/symflowerCoverage.svg

Problem Coverage

For each operation that can result in erroneous behavior an explicit check is added whether the error can be provoked.

Reproducible Bugs

For each revealed bug, Symflower reports a dedicated test case that can be used to reproduce and fix the found issues.

Easy To Use

Symflower works out of the box with no complicated setup required. Check out our three step workflow.

Learn More
quality center icon Quality Center
symbolic execution icon

Symflower provides concise information about the overall health of your software.

Learn More
zero touch unit testing icon Zero-Touch Unit Testing

Our next generation testing approach creates high coverage tests without human intervention.

Learn More
Don't Miss Out on the Future of Software Testing

Don't Miss Out on the Future of Software Testing


Contact Symflower