Resources
Symflower's blog features a variety of informative posts on a range of topics related to software development. Sign up four our newsletter to make sure you never miss our posts. Here's a selection of our top content so far:
LLM
- OpenAI's o1-preview is the king 👑 of code generation but is super slow and expensive (Deep dives from the DevQualityEval v0.6)
- DeepSeek v2 Coder and Claude 3.5 Sonnet are more cost-effective at code generation than GPT-4o! (Deep dives from the DevQualityEval v0.5.0)
- Is Llama-3 better than GPT-4 for generating tests? And other deep dives of the DevQualityEval v0.4.0
- Can LLMs test a Go function that does nothing?
- LLM benchmarking series part 1: How does LLM benchmarking work? An introduction to evaluating models
- LLM benchmarking series part 2: Evaluating LLMs: complex scorers and evaluation frameworks
- LLM benchmarking series part 3: What are the most popular LLM benchmarks?
- LLM benchmarking series part 4: Comparing LLM benchmarks for software development
- AI tools for software development
- Using Aider AI for code generation
- Transpiling Go & Java to Ruby using GPT-4o & Claude 3.5 Sonnet
- LLM observability: tools for monitoring Large Language Models
- LLM cost management: how to reduce LLM spending?
Symflower's technology
- Test impact analysis: Automatically run affected tests only
- Symbolic execution vs fuzzing for creating test values
- Symflower & GitHub Copilot: AI vs Symbolic Execution for Software Testing
- Java Fuzzing with Jazzer compared to Symflower
Spring Boot
- Generating test templates for 10 open-source Spring Boot applications with Symflower
- An introduction to Spring Boot: the basics
- Spring Boot testing best practices & guide
- Spring framework basics: Spring vs Spring Boot vs Spring Web MVC vs Spring WebFlux
- Spring Web MVC vs Spring WebFlux: differences between Spring web frameworks
- How to do mocking in Spring Boot? Best practices for using @MockBean vs @Mock
- What is the difference between @Controller vs @RestController in Spring Boot?
- Spring Boot folder structure best practices
Java
- What are Java modules and how to use them?
- What are the top Java unit testing frameworks & tools in 2024?
- The best IntelliJ IDEA productivity plugins for Java developers
- The best static analysis tools and linters for Java
- How to write reusable code? Guide & best practices for reusability in Java
- Mocking frameworks for Java: Mockito vs EasyMock vs JMockit
- JDK 23: What is new in Java 23?
- JDK 22: What is new in Java 22?
- JDK 21: What is new in Java 21?
- JDK 20: What is new in Java 20?
JUnit
- Java Unit Testing Frameworks Compared: JUnit vs TestNG
- How to write JUnit test cases? A step-by-step guide with examples
- How to write JUnit test cases: advanced techniques
- How to run JUnit 5 tests with Gradle?
- JUnit testing tips and tricks 1/3: How to ignore test cases in JUnit 4 and 5?
- JUnit testing tips and tricks 2/3: Tagging and filtering test cases in JUnit 4 & JUnit 5
- JUnit testing tips and tricks 3/3: Changing test execution order in JUnit 4 & JUnit 5
- How to migrate from JUnit 4 to JUnit 5: a step-by-step guide
Programming principles
- Programming principle "DRY": Don't Repeat Yourself
- Programming principle "YAGNI": You Ain't Gonna Need It
- Programming principle "Chesterton's Fence": Understand the current state before changing it
- Programming principle "KISS": Keep It Simple, Stupid!
Testing theory, concepts & techniques
- Unit testing vs integration testing
- What are the different code coverage types?
- How to test your tests? A guide to mutation testing & mutation testing tools
- Chaos engineering 101 & Best practices for chaos testing
- Security testing tools and techniques
- What is the testing trophy and how does it help better test software?
- What is the testing pyramid and how to use it? [+Example]
- The software testing jungle