This Article 
 Bibliographic References 
 Add to: 
ADTEST: A Test Data Generation Suite for Ada Software Systems
August 1997 (vol. 23 no. 8)
pp. 473-484

Abstract—This paper presents the design of the software system, ADTEST, for generating test data for programs developed in Ada83. The key feature of this system is that the problem of test data generation is treated entirely as a numerical optimization problem and, as a consequence, this method does not suffer from difficulties commonly found in symbolic execution systems, such as those associated with input variable-dependent loops, array references, and module calls. Instead, program instrumentation is used to solve a set of path constraints without explicitly knowing their form. The system supports not only the generation of integer and real data types, but also non-numerical discrete types such as characters and enumerated types. The system has been tested on large Ada programs (60,000 lines of code) and found to reduce the effort required to test programs as well as provide an increase in test coverage.

[1] G.J. Myers,The Art of Software Testing.New York: Wiley, 1979.
[2] J.C. Huang, "An Approach to Program Testing," Computer Surveys, pp. 113-128, 1975.
[3] H. Inamura, "Trial-and-Error Method for Automated Test Data Generation and Its Evaluation," Systems and Computers in Japan, vol. 20, no. 2, pp. 78-91, Feb. 1989.
[4] E.F. Miller, "Software Testing Technology: An Overview," 1984.
[5] W.H. Deason, D.B. Brown, K. Chang, and J.H. Cross, "A Rule-Based Software Test Data Generator," IEEE Trans. Knowledge and Data Eng., vol. 3, no. 1, pp. 108-116, Jan. 1991.
[6] J.A. Goguen, J.W. Thatcher, and E.G. Wagner, "An Initial Algebra Approach to the Specification, Correctness, and Implementation of Abstract Data Types," Current Trends in Programming Methodology, vol. 4, pp. 80-149, Aug. 1978.
[7] P.D. Coward, "Symbolic Execution and Testing," Information and Software Technology, vol. 33, no. 1, pp. 53-64, Jan. 1991.
[8] M.J. Gallagher and V.L. Narasimhan, "Using Program Instrumentation as an Aid in Software Testing," Proc. Pacific Rim Int'l Symp. Fault Tolerant Computing Systems, pp. 182-189, Dec. 1993.
[9] M.R. Girgis, "An Experimental Evaluation of a Symbolic Execution System," Software Eng. J., vol. 7, no. 4, pp. 285-290, July 1992.
[10] W. Miller and D.L. Spooner, "Automatic Generation of Floating Point Test Data," IEEE Trans. Software Eng., vol. 2, no. 3, pp. 223-226, Sept. 1976.
[11] L.T. Scott, "On the Problem of Software Testing and the Generation of Test Data," master of engineering science thesis, Univ. of Queensland, 1988.
[12] R. Ferguson and B. Korel, "The Chaining Approach for Software Test Data Generation," ACM Trans. Software Eng. and Methodology, vol. 5, no. 1, pp. 63-86, Jan. 1996.
[13] M. Minoux, Mathematical Programming Theory and Algorithms,New York: John Wiley&Sons, 1986.
[14] J.L. Greenstadt, "Variation on Variable-Metric Methods," Math. Computing, vol. 24, pp. 1-22, 1970.
[15] L.J. White and E.I. Cohen, "A Domain Strategy for Computer Program Testing," IEEE Trans. Software Eng., vol. 6, no. 5, pp. 247-257, May 1980.

Index Terms:
Software test data generation, software testing, program instrumentation, symbolic execution.
Matthew J. Gallagher, V.Lakshmi Narasimhan, "ADTEST: A Test Data Generation Suite for Ada Software Systems," IEEE Transactions on Software Engineering, vol. 23, no. 8, pp. 473-484, Aug. 1997, doi:10.1109/32.624304
Usage of this product signifies your acceptance of the Terms of Use.