Software

This page describes and provides links to software that has been produced by José Campos in the course of his research projects, or by others in his collaborations with them.

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.

EvoSuite is freely available from https://github.com/EvoSuite/evosuite.
Check out its website at http://www.evosuite.org.

Experimental Data

A key factor of studying Evolutionary Algorithms (EA) on automatic test generation is the selection of classes under test. As many open source classes, for example contained in the SF110 corpus, are trivially simple and would not reveal differences between algorithms, a selection of non-trivial classes has been proposed in the DynaMOSA study. This is a corpus of 117 open-source Java projects and 346 classes, selected from four different benchmarks. The complexity of classes ranges from 14 statements and 2 branches to 16,624 statements and 7,938 branches. The average number of statements is 1,109, and the average number of branches is 259. Java projects/classes and their dependencies can be find in here and the list of non-trivial Java classes organized by project can be find in here.

GZoltar

GZoltar is a framework for automating the testing and debugging phases of the software development life-cycle. At the moment, the framework is provided as an Ant and Maven plug-in and integrates seamlessly with JUnit tests.
The idea of automating this process started in 2005 as part of the PhD research of Rui Abreu working with Arjan J.C. van Gemund (back then at the Delft University of Technology). Initially, the focus was to automate the debugging phase, and the initial idea, published at TAIC-PART'07, was to generate diagnosis candidates taking as input the coverage information for each test case. Later in 2010, there was the need to provide better visualization reports, which lead to the first version of GZoltar (and was published at TOPI'11, an ICSE'11 workshop).

GZoltar is freely available from https://github.com/GZoltar/gzoltar.
Check out its website at http://www.gzoltar.com.


Back to José Campos' home page
Last updated: 10 March, 2021