This Article 
 Bibliographic References 
 Add to: 
High Performance Software Testing on SIMD Machines
May 1991 (vol. 17 no. 5)
pp. 403-423

A method for high-performance, software testing, called mutant unification, is described. The method is designed to support program mutation on parallel machines based on the single instruction multiple data stream (SIMD) paradigm. Several parameters that affect the performance of unification have been identified and their effect on the time to completion of a mutation test cycle and speedup has been studied. Program mutation analysis provides an effective means for determining the reliability of large software systems and a systematic method for measuring the adequacy of test data. However, it is likely that testing large software systems using mutation is computation bound and prohibitive on traditional sequential machines. Current, implementations of mutation tools are unacceptably slow and are only suitable for testing relatively small programs. The proposed unification method provides a practical alternative to the current approaches. The method also opens up a new application domain for SIMD machines.

[1] A. T. Acree, R. A. DeMillo, T. A. Budd, and F. G. Sayward, "Mutation analysis," Georgia Inst. Technol., Atlanta, Tech. Rep. GIT-ICS-79/08, 1979.
[2] H. Agrawal, R.A. DeMillo, B. Hathaway, W. Hsu, W. Hsu, E. W. Krauser, R.J. Martin, A.P. Mathur, and E.H. Spafford, "Design of mutant operators for the C programming language," Software Eng. Research Center, Purdue Univ., West Lafayette, IN, Tech. Rep. SERCTR-41-P, 1989.
[3] A. V. Aho, R. Sethi, and J. D. Ullman,Compilers: Principles, Techniques, and Tools. Reading, MA: Addison-Wesley, 1986.
[4] G. H. Barnes, R. Brown, M. Kato, D. J. Kuck, D. L. Slotnick, and R. A. Stokes, "The ILLIAC IV computer,"IEEE Trans. Comput., vol. C-17, pp. 746-757, Aug. 1968.
[5] K. E. Batcher, "Design of a massively parallel processor,"IEEE Trans. Comput., vol. C-29, no. 9, pp. 836-840, 1980.
[6] B. Beizer,Software Testing Techniques. New York: Van Nostrand Reinhold, 1983.
[7] R. Bellman, R.E. Kalaba, and J.A. Lockett,Numerical Inversion of Laplace Transform. New York: Elsevier, 1966.
[8] B. J. Choi, R.A. DeMillo, E. W. Krauser, A. P. Mathur, R. J. Martin, A. J. Offutt, H. Pan, and E. H. Spafford, "The Mothra toolset," inProc. Hawaii Int. Conf. on System Sciences, Jan. 3-6, 1989.
[9] B. J. Choi, A. P. Mathur, and B. Pattison, "Architecture ofP. Mothra: A tool for mutation based testing on the hypercube," inProc. 3rd Symp. Software Testing, Analysis, and Verification, Key West, FL, Dec. 1989.
[10] R. DeMillo, W. McCracken, R. Martin, and J. Passafiume,Software Testing and Evaluation. Benjamin/Cummings, 1987.
[11] R. A. DeMillo, R. J. Lipton, and F. G. Sayward, "Hints on test data selection: Help for the practicing programmer,"Computer, vol. 11, no. 4, Apr. 1978.
[12] R. A. DeMillo and A. P. Mathur, "On the use of software artifacts to evaluate the effectiveness of mutation analysis for detecting errors in production software," inProc. 13th Minnowbrook Workshop Software Engineering, Blue Mountain Lake, NY, July 24-27, 1990.
[13] W. R. Elmendorf, "Cause-effect graphs in functional testing,"ACM Comput. Surveys, vol. 8, no. 3, Sept. 1976.
[14] J. P. Hayeset al., "A microprocessor-based hypercube supercomputer,"IEEE Micro, vol. 6, pp. 6-17, Oct. 1986.
[15] W. D. Hillis,The Connection Machine. Cambridge, MA: MIT Press, 1985.
[16] W. D. Hillis and G. L. Steele, Jr., "Data parallel algorithms,"Commun. ACM, vol. 29, no. 12, pp. 1170-1183, Dec. 1986.
[17] J. Hawgood,Numerical Methods in Algol. New York: McGraw-Hill, 1965.
[18] Hockney, R. W., and C. R. Jesshope. 1988.Parallel Computers 2: Architectures, Programming and Algorithms. Bristol, Adam Hilger.
[19] K. Hwang and F. A. Briggs,Computer Architecture and Parallel Processing. New York: McGraw-Hill, 1984.
[20] W.E. Howden, "A survey of static analysis methods," inTutorial: Software Testing and Validation Techniques. New York: IEEE, 1978.
[21] W.E. Howden, "Weak mutation testing and completeness of test sets,"IEEE Trans. Software Eng., vol. SE-8, July 1982.
[22] W. Howden,Functional Program Testing and Analysis. New York: Mc-Graw-Hill, 1987.
[23] D.E. Knuth,TEX : The Program. Reading, MA: Addison-Wesley, 1986.
[24] D.E. Knuth, "The errors of TEX ,"Software Practice and Experience, vol. 19, no. 7, pp. 607-685, July 1989.
[25] E. W. Krauser and A. P. Mathur, "Program testing on a massively parallel transputer-based system," inProc. ISMM Int. Symp. Mini and Microcomputers and their Applications, Austin, TX, Nov. 1986, pp. 67-71.
[26] E. W. Krauser, A. P. Mathur, and V. J. Rego, "High performance testing on SIMD machines," Software Eng. Res. Center, Purdue Univ., West Lafayette, IN, Tech. Rep. SERC-TR-17-P (revised), 1990.
[27] D. J. Kucket al., "The effects of program restructuring, algorithm change, and architecture choice on program performance," inProc. Int. Conf. Parallel Processing, 1984, pp. 129-138.
[28] R. J. Martin, "Mothra uses mutation analysis,"IEEE Software (Tools Fair Issue), p. 56, May 1990.
[29] A. P. Mathur and E. Galiano, "Inducing vectorization: A formal analysis," inProc. 3rd Int. Conf. Supercomputing, vol. III, Boston, MA, 1988, pp. 455-463.
[30] A. P. Mathur and E. W. Krauser, "Modeling mutation on a vector processor," inProc. Int. Conf. Software Engineering, Singapore, Apr. 1988.
[31] A. J. Offutt, "Automatic test data generation," Software Eng. Res. Center, Purdue Univ., West Lafayette, IN, Tech. Rep. SERC-TR-25-P, 1986.
[32] V. J. Rego and A. P. Mathur, "Concurrency enhancement through program unification: A performance analysis,"J. Parallel Distributed Comput., vol. 8, pp. 210-217, Mar. 1990.
[33] V. J. Rego and A. P. Mathur, "Exploiting parallelism across program execution: A unification technique and its analysis,"IEEE Trans. Parallel Distributed Syst., vol. 1, pp. 399-414, Oct. 1990.
[34] H. J. Siegel, L. J. Siegel, F. C. Kemmerer, P.T. Mueller Jr., H.E. Smalley, and S. D. Smith, "PASM: Partitionable SIMD/MIMD system for image processing and pattern recognition,"IEEE Trans. Comput., vol. C-30, pp. 934-947, Dec. 1981.
[35] System Architecture and Implementation, MasPar Computer Corp., Sunnyvale, CA, 1990.
[36] P. J. Walsh, "A measure of test case completeness," Ph.D. dissert., State Univ. New York, Binghamton, 1985.
[37] Wirth, N. 1976.Algorithms + Data Structures = Programs, Englewood Cliffs, NJ, Prentice Hall.
[38] M.R. Woodward and K. Halewood, "From weak to strong, dead or alive? An analysis of some mutation testing issues," inProc. 2nd Workshop Software Testing, Verification, and Analysis, Banff, AB, Canada, July 1988.

Index Terms:
software reliability; software testing; mutant unification; program mutation; parallel machines; single instruction multiple data stream; software systems; SIMD machines; parallel machines; program testing; software reliability
E.W. Krauser, A.P. Mathur, V.J. Rego, "High Performance Software Testing on SIMD Machines," IEEE Transactions on Software Engineering, vol. 17, no. 5, pp. 403-423, May 1991, doi:10.1109/32.90444
Usage of this product signifies your acceptance of the Terms of Use.