Abstract

Regression testing techniques are commonly used to validate the correctness of upgrades. When a regression test fails, testers must understand the erroneous behaviors that caused the failure and identify the fault that originated these erroneous behaviors. In many cases, identifying the causes of a failure is difficult and time consuming. The analysis of regression problems provides interesting opportunities to validation and verification techniques. In fact, by comparing the execution of the base version and the upgraded version of the same program it is possible to automatically deduce information about incorrect behavior of the program.

RADAR (Regression Analysis with Diff And Recording) is a dynamic analysis technique, which analyzes regression problems and automatically identifies the chain of erroneous events that lead to a failure in C/C++ programs. RADAR exploits information about changes and the availability of multiple versions of the same program to automatically distinguish correct and suspicious events. Empirical experience with industrial and open source cases shows that RADAR can effectively support testers in the investigation of regression problems. Thus, RADAR can drive and simplify the debugging process.

Tool

Downloads

RADAR is an Eclipse plug-in that can be installed from the following update site: http://www.lta.disco.unimib.it/downloads/eclipseUpdates/

We are currently extending RADAR with the capability of pinpointing the change that lead to the regression. To this end we are integrating the dynamic analysis provided by RADAR with the static analysis capabilities provided by Grammatech CodeSurfer.

A video tutorial about Radar is available at this URL: http://www.lta.disco.unimib.it/tools/bct/?q=node/7.