Skip to main content

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

  1. Open the file you want to analyze
  2. Right-click anywhere on a function
  3. 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

  1. Open the file you want to analyze
  2. Right-click anywhere on a function
  3. 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:

  1. Open the file you want to analyze
  2. Open the command palette
  3. 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 LLMs
  • symflower lint: runs static analysis with preconfigured linting rules on your project
  • symflower migrate: migrates code, packages, dependencies and whole projects automatically
  • symflower run: sends a main function to Symflower for symbolic execution and returns coverage as a result
  • symflower symbols: queries all functions and methods in a repository and outputs a list of all the symbols
  • symflower test: executes the tests in your project and outputs test results and coverage information
  • symflower 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 query
  • symflower trace: a task visualization tool that provides insights into application execution behavior.