Loading [MathJax]/extensions/MathMenu.js
Checking inside the black box: regression testing based on value spectra differences | IEEE Conference Publication | IEEE Xplore

Checking inside the black box: regression testing based on value spectra differences


Abstract:

Comparing behaviors of program versions has become an important task in software maintenance and regression testing. Traditional regression testing strongly focuses on bl...Show More

Abstract:

Comparing behaviors of program versions has become an important task in software maintenance and regression testing. Traditional regression testing strongly focuses on black-box comparison of program outputs. Program spectra have recently been proposed to characterize a program's behavior inside the black box. Comparing program spectra of program versions offers insights into the internal behavior differences between versions. We present a new class of program spectra, value spectra, which enriches the existing program spectra family. We compare the value spectra of an old version and a new version to detect internal behavior deviations in the new version. We use a deviation-propagation call tree to present the deviation details. Based on the deviation-propagation call tree, we propose two heuristics to locate deviation roots, which are program locations that trigger the behavior deviations. We have conducted an experiment on seven C programs to evaluate our approach. The results show that our approach can effectively expose program behavior differences between versions even when their program outputs are the same, and our approach reports deviation roots with high accuracy for most programs.
Date of Conference: 11-14 September 2004
Date Added to IEEE Xplore: 22 November 2004
Print ISBN:0-7695-2213-0
Print ISSN: 1063-6773
Conference Location: Chicago, IL, USA

Contact IEEE to Subscribe

References

References is not available for this document.