This Article 
 Bibliographic References 
 Add to: 
Perturbation Techniques for Detecting Domain Errors
June 1989 (vol. 15 no. 6)
pp. 737-746

Perturbation testing is an approach to software testing which focuses on faults withinarithmetic expressions appearing throughout a program. This approach is expanded to permit analysis of individual test points rather than entire paths, and to concentrate on domain errors. Faults are modeled as perturbing functions drawn from a vector space of potential faults and added to the correct form of an arithmetic expression. Sensitivity measures are derived which limit the possible size of those faults that would go undetected after the execution of a given test set. These measures open up an interesting view of testing, in which attempts are made to reduce the volume of possible faults which, were they present in the program being tested, would have escaped detection on all tests performed so far. The combination of these measures with standard optimization techniques yields a novel test-data-generation method called arithmetic fault detection.

[1] T. A. Budd, "Mutation analysis: Ideas, examples, problems and prospects," inComputer Program Testing, B. Chandrasekaran and S. Radicchi, Eds. Amsterdam, The Netherlands: North-Holland, 1981, pp. 129-148.
[2] T. A. Budd, "The portable mutation testing suite," Univ. Arizona, Tech. Rep. TR 83-8, Mar. 1983.
[3] T. A. Budd and D. Angluin, "Two notions of correctness and their relation to testing,"Acta Inform., vol. 18, pp. 31-45, 1982.
[4] L. A. Clarke, J. Hassell, and D. J. Richardson, "A close look at domain testing,"IEEE Trans. Software Eng., vol. SE-8, no. 4, pp. 380-390, July 1982.
[5] L. A. Clarke and D. J. Richardson, "Symbolic evaluation--An aid to testing and verification," inSoftware Validation, H. Hausen, Ed. Amsterdam. The Netherlands: North-Holland, 1984, pp. 141- 166.
[6] R. A. DeMillo, F. G. Sayward, and R. J. Lipton, "Hints on test data selection: Help for the practicing programmer,"Computer, vol. 11, pp. 34-41, Apr. 1978.
[7] K. A. Foster, "Error sensitive test case analysis (ESTCA),"IEEE Trans. Software Eng., vol. SE-6, no. 3, pp. 258-264, May 1980.
[8] J. S. Gourlay, "A mathematical framework for the investigation of testing,"IEEE Trans. Software Eng., vol. SE-9, no. 6, pp. 686-709, Nov. 1983.
[9] A. Haley and S. Zweben, "Development and application of a white box approach to integration testing,"J. Syst. Software, vol. 4, pp. 309-315, 1984.
[10] W. E. Howden, "Reliability of the path analysis testing strategy,"IEEE Trans. Software Eng., vol. SE-2, no. 3, pp. 280-215, Sept. 1976.
[11] W. E. Howden, "Algebraic program testing,"Acta Inform., vol. 10, pp. 53- 66, Oct. 1978.
[12] W. E. Howden, "Weak mutation testing and completeness of test sets,"IEEE Trans. Software Eng., vol. SE-8, no. 2, pp. 371-379, July 1982.
[13] L. J. Morell, "A theory of error-based testing," Ph.D. dissertation, Dep. Comput. Sci., Univ. Maryland, Tech. Rep. TR-1395, Aug. 1984.
[14] D. J. Richardson and L. A. Clarke, "Partition analysis: A method combining testing and verification,"IEEE Trans. Software Eng., vol. SE-11, no. 12, pp. 1477-1490, Dec. 1985.
[15] J. H. Rowland and P. J. Davis, "On the use of transcendentals for program testing,"J. ACM, vol. 28, no. 1, pp. 181-190, Jan. 1981.
[16] L. J. White and E. I. Cohen, "A domain strategy for computer program testing,"IEEE Trans. Software Eng., vol. SE-6, no. 3, pp. 247-257, May 1980.
[17] S. J. Zeil, "Testing for perturbations of program statements,"IEEE Trans. Software Eng., vol. SE-9, no. 3, pp. 335-346, May 1983.
[18] S. J. Zeil, "Perturbation testing for computation errors," inProc. Seventh Int. Conf. Software Eng., Mar. 1984.
[19] S. J. Zeil, "A perturbational analysis of domain testing," Old Dominion Univ., Tech. Rep. 89-03, Jan. 1989.

Index Terms:
error detection; sensitivity measures; software testing; arithmetic expressions; individual test points; domain errors; perturbing functions; vector space; potential faults; test set; standard optimization techniques; novel test-data-generation method; arithmetic fault detection; error detection; perturbation techniques; program testing
S.J. Zeil, "Perturbation Techniques for Detecting Domain Errors," IEEE Transactions on Software Engineering, vol. 15, no. 6, pp. 737-746, June 1989, doi:10.1109/32.24727
Usage of this product signifies your acceptance of the Terms of Use.