Program Slicing-Based Regression Testing Techniques


After changes are made to a previously tested program, a goal of regression testing is to perform retesting based on the modifications while maintaining the same testing coverage as completely retesting the program. We present a novel approach to data flow based regression testing that uses slicing algorithms to explicitly detect definition-use associations that are affected by a program change. An important benefit of our slicing technique is, unlike previous techniques, no data flow history is needed nor is the recomputation of data flow for the entire program required to detect affected definition-use associations. The program changes drive the recomputation of the required partial data flow through slicing. Another advantage is that our technique achieves the same testing coverage with respect to the affected pairs as a complete retest of the program without maintaining a test suite. Thus, the overhead of maintaining and updating a test suite is eliminated.

Related research categories:
(1) Program Analysis
(2) Regression Testing
(3) Slicing
(4) Testing

Go To Publications