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

Download: PDF, Slides.

“Checking inside the black box: Regression testing based on value spectra differences” by Tao Xie and David Notkin. In ICSM 2004: Proceedings of the International Conference on Software Maintenance, (Chicago, Illinois), Sep. 2004, pp. 28-37.
A previous version appeared as “Checking inside the black box: Regression fault exposure and localization based on value spectra differences” by Tao Xie and David Notkin. University of Washington Paul G. Allen School of Computer Science and Engineering technical report UW-CSE-02-12-04, (Seattle, WA, USA), Dec. 2002.
A previous version appeared as “Checking inside the black box: Regression fault exposure and localization based on value spectra differences” by Tao Xie. In FSE SRF: FSE 2002, Poster session, Student Research Forum, Proceedings of the ACM SIGSOFT 10th International Symposium on the Foundations of Software Engineering, (Charleston, SC), Nov. 2002.

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. In this paper, 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.

Download: PDF, Slides.

BibTeX entry:

@inproceedings{XieN2004,
   author = {Tao Xie and David Notkin},
   title = {Checking inside the black box: Regression testing based on
	value spectra differences},
   booktitle = {ICSM 2004: Proceedings of the International Conference on
	Software Maintenance},
   pages = {28--37},
   address = {Chicago, Illinois},
   month = sep,
   year = {2004}
}

Back to Publications whose methodology uses invariant detection.