EvoSuite
To find defects in software, one needs test cases that execute the software systematically, and oracles that assess the correctness of the observed behavior when running these test cases. EvoSuite is a tool that automatically generates test cases with assertions for classes written in Java code. To achieve this, EvoSuite applies a novel hybrid approach that generates and optimizes whole test suites towards satisfying a coverage criterion. For the produced test suites, EvoSuite suggests possible oracles by adding small and effective sets of assertions that concisely summarize the current behavior; these assertions allow the developer to detect deviations from expected behavior, and to capture the current behavior in order to protect against future defects breaking this behaviour.
Main features
- Generation of JUnit 4 tests for the selected classes
- Optimization of different coverage criteria, like lines, branches, outputs and mutation testing
- Tests are minimized: only the ones contributing to achieve coverage are retained
- Generation of JUnit asserts to capture the current behavior of the tested classes
- Tests run in a sandbox to prevent potentially dangerous operations
- Virtual file system
- Virtual network
Contributing Institutions
Developers
- Gordon Fraser
- Andrea Arcuri
- Verena Bader
- José Campos
- Benjamin Friedrich
- Juan Pablo Galeotti
- Alessandra Gorla
- Florian Gross
- Prathmesh Halgekar
- Fitsum Meshesha Kifitew
- Merlin Lang
- Yanchuan Li
- Eva May
- Andre Mis
- Daniel Muth
- Jeremias Roessler
- Jose Miguel Rojas
- Kaloyan Rusev
- Sina Shamshiri
- Sebastian Schweikl
- Sebastian Steenbuck
- Andrey Tarasevich
- Mattia Vivanti
- Sebastian Vogl
Supporters
EvoSuite is generously supported by a Google Focused Research Award on Test Amplification. YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit’s leading software products: YourKit Java Profiler and YourKit .NET Profiler.