Information Processing Letters
A Theory of Fault-Based Testing
IEEE Transactions on Software Engineering
Constraint-Based Automatic Test Data Generation
IEEE Transactions on Software Engineering
PIE: A Dynamic Failure-Based Technique
IEEE Transactions on Software Engineering
An information flow model of fault detection
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Relative debugging: a new methodology for debugging scientific applications
Communications of the ACM
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
A safe, efficient regression test selection technique
ACM Transactions on Software Engineering and Methodology (TOSEM)
ICSE '97 Proceedings of the 19th international conference on Software engineering
Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria
ICSE '94 Proceedings of the 16th international conference on Software engineering
TestTube: a system for selective regression testing
ICSE '94 Proceedings of the 16th international conference on Software engineering
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
The use of program profiling for software maintenance with applications to the year 2000 problem
ESEC '97/FSE-5 Proceedings of the 6th European SOFTWARE ENGINEERING conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering
Automated regression test generation
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
An empirical study of regression test selection techniques
ACM Transactions on Software Engineering and Methodology (TOSEM)
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Prioritizing Test Cases For Regression Testing
IEEE Transactions on Software Engineering
Test Case Prioritization: A Family of Empirical Studies
IEEE Transactions on Software Engineering
Revised Lectures on Software Visualization, International Seminar
Empirical Evaluation of the Textual Differencing Regression Testing Technique
ICSM '98 Proceedings of the International Conference on Software Maintenance
An Empirical Study of the Effects of Minimization on the Fault Detection Capabilities of Test Suites
ICSM '98 Proceedings of the International Conference on Software Maintenance
A Study of Effective Regression Testing in Practice
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Checking Inside the Black Box: Regression Testing Based on Value Spectra Differences
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Rostra: A Framework for Detecting Redundant Object-Oriented Unit Tests
Proceedings of the 19th IEEE international conference on Automated software engineering
Weak Mutation Testing and Completeness of Test Sets
IEEE Transactions on Software Engineering
Testing-based interactive fault localization
Proceedings of the 28th international conference on Software engineering
Compatibility and Regression Testing of COTS-Component-Based Software
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Model-based regression test suite generation using dependence analysis
Proceedings of the 3rd international workshop on Advances in model-based testing
Regression test suite reduction using extended dependence analysis
Fourth international workshop on Software quality assurance: in conjunction with the 6th ESEC/FSE joint meeting
Detecting precise behavioral models
Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium
eXpress: guided path exploration for efficient regression test generation
Proceedings of the 2011 International Symposium on Software Testing and Analysis
Augmenting automatically generated unit-test suites with regression oracle checking
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
Hi-index | 0.00 |
Comparing behaviors of program versions has become an important task in software maintenance and regression testing. Black-box program outputs have been used to characterize program behaviors and they are compared over program versions in traditional regression testing. 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 behavioral differences between versions. In this paper, we present a new class of program spectra, value spectra, that enriches the existing program spectra family. We compare the value spectra of a program's old version and new version to detect internal behavioral 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 behavioral deviations. We also use path spectra (previously proposed program spectra) to approximate the program states in value spectra. We then similarly compare path spectra to detect behavioral deviations and locate deviation roots in the new version. We have conducted an experiment on eight C programs to evaluate our spectra-comparison approach. The results show that both value-spectra-comparison and path-spectra-comparison approaches can effectively expose program behavioral differences between program versions even when their program outputs are the same, and our value-spectra-comparison approach reports deviation roots with high accuracy for most programs.