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.
More information – EvoSuite website.
This project propose to investigate the use of various generic invariants in the value and time domain, their effect on Spectrum-based Fault Localization (SFL)’s diagnostic precision, their relation with existing test oracles, and their runtime overhead, in particular, the density required or strategic placement (trading off overhead vs precision). The industrial partner of this project is Critical Software.
More information – AutoSeer website.
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 Eclipse 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). In the same framework, developers can find techniques for test case minimization and prioritization - this way creating a perfect ecosystem for performing testing and debugging. Currently the framework is available as a library, which every developer/researcher can use the power of GZoltar to implement new techniques for fault localization or test suite minimization.
More information – GZoltar website.