Symflower Newsletter March 2023 - TreeSitter update, performance improvements, and new blog posts!
Hello ??!
Guess what? March has just rolled past, meaning it’s time for the latest edition of our newsletter. Before we jump in, let us just drop a quick reminder that?we’re looking for software engineers to join Symflower!
This month, we’ve focused on improving our internal infrastructure to enhance the performance of Symflower. With the switch to Go 1.20, Symflower now uses less memory and can generate tests faster. We’ve also replaced JavaParser with TreeSitter, enabling us to speed up source code parsing by over 20x on average! ?? See our blog post about the switch to TreeSitter and a list of the most important updates to Symflower below.
On the blog, you’ll find part 2 of our guide to writing JUnit tests with some advanced techniques. We’ve also published a step-by-step guide to running JUnit 5 tests with Gradle, and a collection of our favorite IntelliJ IDEA productivity plugins. Happy reading!
Join our team
Symflower is looking for Software Engineers and Algorithm Developers. Come join our team and help us take developer productivity to the next level!
What’s new in Symflower? ??
A ton of updates to Spring controller handling??? Symflower now:
Transpiling all Java annotations??? For better tests and test templates with more specific analysis and more inferred data, we now transpile all (rather than just specific) Java annotations.
TreeSitter migration for faster parsing??? By?switching from JavaParser to TreeSitter, we have been able to speed up parsing by 20x on average, and parsing common files takes as much as 99% less time now!
No Java binary needed??? We can now analyze source code without the need for a Java binary, enabling Symflower to analyze source code and generate tests out of the box in more environments.
Faster & more consistent tests using LLVM’s Clang on Windows???? By switching from GCC to LLVM’s Clang, we now use the same compiler on all OSs, leading to more consistent test generation results and enabling further performance optimizations.
Upgrade to Go 1.20??? Symflower is now compiled with Go 1.20, leading to 5% less memory usage and 3% faster execution on long-running test generations.
领英推荐
Better logs for debugging??? To help you identify and debug problems faster, we now print more detailed information on initialization into the log.
Interesting reads
TreeSitter - the holy grail of parsing source code
Wondering how we sped up source code parsing by a factor of 36x? ?? Read our post detailing how we made the switch to TreeSitter ??
The best IntelliJ IDEA productivity plugins for Java developers
Looking to boost your productivity? Pimp that vanilla install with these must-have IntelliJ IDEA plugins! ??
How to write JUnit test cases: advanced techniques
Advanced JUnit5 techniques ?? Learn some pro tips in part 2 of our tutorial on writing JUnit tests!
Running JUnit 5 tests with Gradle
Looking to run JUnit tests with Gradle? ?? We put together a step-by-step guide to help you get started.