Symflower for Visual Studio CodeSymflower helps you build better software by pairing static, dynamic and symbolic analyses with LLMs. The robustness of deterministic analyses combined with the creativity of LLMs allows for higher quality and rapid software development. Make your editor better:
Symflower delivers demonstrated gains for any use case. Let's talk about your project and how Symflower can help! Reach out to us. Install Symflower:
Build better software with SymflowerWhat is Symflower? | Install guide | Getting started | Symflower blog Table of contents
Feature overviewGenerate smart test templateWrite new test cases faster. Stop spending time on boilerplate code for your tests and focus on your test scenarios instead. Use Symflower to instantly generate all your boilerplate: imports, annotations, object initializations, calls, assertions, and more. Symflower provides dedicated testing for Spring and Spring Boot applications which includes testing for Spring controllers, repositories, and services. Templates can also serve as starting points for your LLM coding assistant of choice. Use any of the following options to generate smart test templates for a file / function:
Generate test suiteThoroughly test your code by generating a complete test suite using Symflower. Find edge cases, reproduce bugs faster, and decide which tests you want to add to your test suite. Use any of the following options to generate a test suite for a file / function:
Post-processing with Symflower fix and lintWhether you're writing code manually or using LLMs to generate code, use Symflower's post-processing functionality with linting and code repair to improve code quality. Symflower fix: Applies an automatic repair logic to fix code. Check the documentation for up-to-date information of what fixes are provided. Symflower lint: Use Symflower to run static analysis with preconfigured linting rules on your project. Default linting rules cover formatting to enforce style rules, and rules for simplification and more idiomatic code, enabling you to find bugs and performance issues. Managing testsSymflower provides several features that make it easy to manage your tests. Use the Create test: The Duplicate test: If your workflow involves the creation of multiple similar tests with only minor differences (for instance, in a TDD environment), using the Test review workflow: Symflower provides an easy way to review generated tests. The test review workflow enables you to select which generated tests cases you want to add to your test suite. Just click the Test-backed diagnosticsTest-backed diagnostics: Discover and reproduce runtime exceptions. Once a test suite was generated, Symflower will automatically highlight any uncaught runtime exceptions in your IDE. For each exception found, a test case is provided that can be used to reproduce and fix the found problem. Symflower for LLMsSymflower enhances LLM-based software development workflows by pairing static, dynamic and symbolic analyses with LLMs. The following functions are available with the Symflower binary: Symflower runUse this feature to symbolically execute programs to collect coverage data for analysis. Symflower symbolsThis feature queries all functions/methods in a repository. Use the symbols list to make sure LLMs thoroughly analyze your repository. Symflower testThis feature executes the tests in your project and outputs test results and coverage information. Symflower test runnerThis feature performs package-level test impact analysis on your repositories to only run tests affected by the specified source code changes. Symflower traceSymflower trace is a task visualization tool that provides insights into application execution behavior. The output of the command is an HTML file with a tree visualization of a trace file. Quick start guideTutorial: Generate smart test templateTo follow the feature tutorials below, start by copying the following code into a file named "Copy.java":
Use the sample Copy.java code above and right-click anywhere in the function to open the context menu, then click "Symflower: Generate Test Template for Function". (Alternatively, use your defined hotkeys, the command palette, or the code lens to create the test template). The following new test template will be added to your test file:
Now all that is left is properly naming the method and replacing the sample values according to your test scenario. Tutorial: Generate test suite for a file / functionUse the above sample code (Copy.java) and right-click anywhere in the function to open the context menu, then click "Symflower: Generate Test Suite for Function". Symflower will analyze the source code and generate a virtual file with the following test cases:
The above test cases include one test for each unique execution path of your code. To easily copy them from your virtual file to your actual test suite, use the Commands
Supported languages & technologiesSymflower is currently only available for Java (versions 1-17, partly version 18-21). Supported technologies:
Requirements
DocumentationFor more information you can browse the Symflower documentation and Symflower's changelog. CommunityJoin the Symflower community on GitHub to submit issues and to discuss questions, problems, and solutions with other Symflower users. Find us at https://github.com/symflower/symflower. FeedbackPlease send us your questions, experience, or problems with Symflower. Your feedback helps us further improve this plugin. If you are missing a feature or found a problem that you think should be fixed, please open an issue on our community issue tracker or write us an email at hello@symflower.com. Subscribe to the Symflower newsletter to receive updates on new features, use cases and topics on software development. |