Getting started
This page helps you get started with Symflower in your environment.
Install Symflower
Choose your environment to learn how to install Symflower:
- Android Studio: Open Plugins, search for "Symflower", and click "Install".
- CLI: On Linux or MacOS, run the command
curl -sSLf https://get.symflower.com/install | sh
. On Windows, download and open the MSI installer. There's also the option of downloading the binary for manual installation. - IntelliJ IDEA: Open Plugins, search for "Symflower", and click "Install".
- Visual Studio Code: Open Extensions, search for "Symflower", and click "Install".
Quick start guide
Symflower adds three key testing features to your IDE, along with a range of LLM-related features:
Once you have Symflower set up, we recommend you start with generating smart test templates:
Generating smart test templates
- Open the file you want to analyze
- Right-click anywhere on a function
- Choose "Symflower: Generate Test Template for Function"
Multiple usage options help you integrate Symflower into your workflow. See our step-by-step tutorial for generating smart test templates. Smart test templates also offer Spring Boot support. See how to review and manage generated tests.
Generating test suites
Next up, generate an entire test suite complete with input values that help provide optimal code coverage. The plugin lets you:
Generating test suites via symbolic execution
- Open the file you want to analyze
- Right-click anywhere on a function
- Choose "Symflower: Generate Test Suite for Function"
Symflower offers multiple usage options for convenient access to test suite generation via symbolic execution. See our step-by-step tutorial for generating test suites. See how to review and manage generated tests.
Generating test suites via LLMs
To use this feature, you'll first need to configure Symflower to use the LLM of your choice. Then:
- Open the file you want to analyze
- Open the command palette
- Choose "Symflower: Generate Test Suites for Function via LLM"
Multiple usage options are available to access LLM-generated test suites in your IDE. See our step-by-step tutorial for generating test suites via LLMs. See how to review and manage generated tests.
Test-backed diagnostics
Once you've generated a test suite via symbolic execution, Symflower will automatically highlight any uncaught runtime exceptions in your IDE in real time.
Symflower for LLMs
Symflower offers a range of features for LLMs supporting LLM development, benchmarking, LLM-based code generation workflows, and Retrieval-Augmented Generation (RAG).
Learn more and find usage information for each of these features below:
symflower fix
: a static analysis tool to repair code generated by LLMssymflower lint
: runs static analysis with preconfigured linting rules on your projectsymflower migrate
: migrates code, packages, dependencies and whole projects automaticallysymflower run
: sends a main function to Symflower for symbolic execution and returns coverage as a resultsymflower symbols
: queries all functions and methods in a repository and outputs a list of all the symbolssymflower test
: executes the tests in your project and outputs test results and coverage informationsymflower test-runner
: performs package-level test impact analysis on your Go repositories to identify tests that are affected by the source code changes specified in your querysymflower trace
: a task visualization tool that provides insights into application execution behavior.