The list below shows the active projects in our group. Our general approach to research is to look for combinations/adaptations of existing tools (e.g., constraint solving, model checking, and static analysis) to improve support to automated software testing and debugging. Don't hesitate to contact us if you are interested in some of these.

Improve Lightweight Debugging. The goal of this project is to improve precision in lightweight debugging (LD), an automated cheap technique for software debugging. LD takes as input a set of test cases and outputs program lines in order of suspiciousness to cause failure. We propose the use of change information and dynamic slicing to reduce the number of potential lines for inspection. People involved: Elton Alves (UFPE), Milos Gligoric (Illinois), Vilas Jagannath (Illinois).

Improve Constraint Solving. Symbolic execution, a popular technique to generate test input data, often generates constraints that involve undecidable or intractable theories. Traditional constraint solvers cannot handle these constraints. CORAL uses meta-heuristic search to find solutions for such constraints. In particular, constraints involving floating-point variables and math functions. People involved: Mateus Borges (UFPE), Matheus Souza (UFPE), Corina Pasareanu (CMU/NASA Ames)

Improve Delta Execution. Delta Execution (DE) is a non-standard mode of execution that operates on set of states. Conceptually, it can leverage the similarity across different states in the set to speed up execution. Possible applications of DE is speeding up state-space exploration and mutation testing. This project focuses on using Single Instruction Multiple Data (SIMD) instructions on existing processors to improve efficiency of DE. People involved: Thiago Vieira (UFPE), Adriano Tito (UFPE)