Experiments with Data Flow and Mutation Testing

This paper presents two experimental comparisons of data ow and mutation testing. These two techniques are widely considered to be e ective for unit-level software testing, but can only be analytically compared to a limited extent. We compare the techniques by evaluating the e ectiveness of test data developed for each. For a number of programs, we develop ten independent sets of test data; ve to satisfy the mutation criterion, and ve to satisfy the all-uses data ow criterion. These test sets are developed using automated tools, in a manner consistent with the way a test engineer would apply these testing techniques. We use these test sets in two separate experiments. First we apply a \cross scoring", by measuring the e ectiveness of the test data that was developed for one technique in terms of the other technique. Second, we investigate the ability of the test sets to nd faults. We place a number of faults into each of our subject programs, and measure the number of faults that are detected by the test sets. Our results indicate that while both techniques are e ective, mutation-adequate test sets are closer to satisfying data ow, and detect more faults.

[1]  Richard G. Hamlet,et al.  Testing Programs with the Aid of a Compiler , 1977, IEEE Transactions on Software Engineering.

[2]  Elaine J. Weyuker,et al.  Axiomatizing software test data adequacy , 1986, IEEE Transactions on Software Engineering.

[3]  Lee J. White Software Testing and Verification , 1987, Adv. Comput..

[4]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[5]  Elaine J. Weyuker,et al.  An Applicable Family of Data Flow Testing Criteria , 1988, IEEE Trans. Software Eng..

[6]  Elaine J. Weyuker,et al.  The Cost of Data Flow Testing: An Empirical Study , 1990, IEEE Trans. Software Eng..

[7]  A. Jefferson Offutt,et al.  Constraint-Based Automatic Test Data Generation , 1991, IEEE Trans. Software Eng..

[8]  Elaine J. Weyuker,et al.  Selecting Software Test Data Using Data Flow Information , 1985, IEEE Transactions on Software Engineering.

[9]  Lori A. Clarke,et al.  A comparison of data flow path selection criteria , 1985, ICSE '85.

[10]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[11]  Elaine J. Weyuker,et al.  Data flow analysis techniques for test data selection , 2015, ICSE '82.

[12]  Elaine J. Weyuker,et al.  A Formal Analysis of the Fault-Detecting Ability of Testing Methods , 1993, IEEE Trans. Software Eng..

[13]  A. Jefferson Offutt,et al.  Investigations of the software testing coupling effect , 1992, TSEM.