About

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

University_of_Sheffield_logo_ohnerand

University of Luxembourg

logo_testfarblaeche_illus

Fondazione Bruno Kessler

 

Developers

  • Gordon Fraser
  • Andrea Arcuri
  • José Campos
  • Benjamin Friedrich
  • Juan Pablo Galeotti
  • Alessandra Gorla
  • Florian Gross
  • Fitsum Meshesha Kifitew
  • Merlin Lang
  • Yanchuan Li
  • Eva May
  • Andre Mis
  • Daniel Muth
  • Jeremias Roessler
  • Jose Miguel Rojas
  • Kaloyan Rusev
  • Sina Shamshiri
  • Sebastian Steenbuck
  • Andrey Tarasevich
  • Mattia Vivanti

Supporters

google-logo

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.

YourKit