Skip to main content
Log in

Algebraic program testing

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

An approach to the study of program testing is introduced in which program testing is treated as a special kind of equivalence problem. In this approach, classes of programs P * and associated classes of test sets T * are defined which have the property that if two programs P and Q in P * agree on a set of tests from T *, then P and Q are computationally equivalent. The properties of a class P * and the associated class T * can be thought of as defining a set of assumptions about a hypothetical correct version Q of a program P in P *. If the assumptions are valid then it is possible to prove the correctness of P by testing. The main result of the paper is an equivalence theorem for classes of programs which carry out sequences of computations involving the elements of arrays.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Boyer, R.S., Elspas, B., Levitt, K.N.: SELECT—A formal system for testing and debugging programs by symbolic execution. In: Proceedings 1975 International Conference on Reliable Software, Los Angeles, pp. 234–245. Long Beach (Calif.): IEEE Press 1975

    Google Scholar 

  2. Caviness, B.F.: On canonical forms and simplification. Carnegie-Mellon University, Ph.D. Thesis, Department of Computer Science, 1968

  3. Clarke, L.A.: A system to generate test data and symbolically execute programs. IEEE Trans. Software Engrg. SE-2, 215–222 (1976)

    Google Scholar 

  4. COBOL-TDG-II: Information Management Incorporated, San Francisco, California

  5. Fairley, R.E.: An experimental program testing facility. IEEE Trans. Software Engrg. SE-1, 350–357 (1975)

    Google Scholar 

  6. Geller, M.: Test data as an aid in proving program correctness. In: Proceedings of Second Symposium on Principles of Programming Languages, Atlanta, pp. 209–218. New York: ACM Publications 1976

    Google Scholar 

  7. Goodenough, J.B., Gerhart, S.L.: Toward a theory of test data selection. IEEE Trans. Software Engrg. SE-1, 156–173 (1975)

    Google Scholar 

  8. Hetzel, W.C.: An experimental analysis of program verification methods. University of North Carolina, Ph.D. Thesis, Department of Computer Science, 1976

  9. Howden, W.E.: Elementary algebraic program testing techniques. University of California, San Diego, Applied Physics and Information Sciences Computer Science Technical Report 12, 1976

    Google Scholar 

  10. Howden, W.E.: Experiments with a symbolic evaluation system. AFIPS-76, pp. 899–908. Montvale (N.J.): AFIPS Press 1976

    Google Scholar 

  11. Howden, W.E.: Symbolic testing and the DISSECT symbolic evaluation system. IEEE Trans. Software Engrg. SE-3, 266–278 (1977)

    Google Scholar 

  12. Howden, W.E.: Methodology for the generation of program test data. IEEE Trans. Computers C-24, 554–560 (1975)

    Google Scholar 

  13. Howden, W.E.: Reliability of the path analysis testing strategy. IEEE Trans. Software Engrg. SE-2, 208–214 (1976)

    Google Scholar 

  14. Howden, W.E.: Symbolic testing and Lindenmayer grammars. Information Processing Lett. (to appear)

  15. Huang, J.C.: An approach to program testing. Comput. Surveys 7, 113–128 (1975)

    Google Scholar 

  16. King, J.C.: Symbolic execution and program testing. Comm. ACM 19, 385–394 (1976)

    Google Scholar 

  17. Krause, K.W., Smith, R.W., Goodwin, M.A.: Optimal software test planning through automated network analysis. In: Proceedings 1973 IEEE Symposium on Computer Software Reliability, Washington, pp. 18–22. Long Beach (Calif.): IEEE Press 1975

    Google Scholar 

  18. Miller, E.F., Melton, R.A.: Automated generation of testcase datasets. In: Proceedings 1975 International Conference on Reliable Software, Los Angeles, pp. 51–58. Long Beach (Calif.): IEEE Press 1975

    Google Scholar 

  19. Osterweil, L.J., Fosdick, L.D.: DAVE—A validation error detection and documentation system for Fortran programs. Software—Practice and Experience 6, 473–486 (1976)

    Google Scholar 

  20. Pimont, S., Rault, J.C.: A software reliability assessment based on a structural and behavioral analysis of program. In: Proceedings Second International Conference on Software Reliability, San Francisco, pp. 486–491. Long Beach (Calif.): IEEE Press 1976

    Google Scholar 

  21. Ramamoorthy, C.V., Ho, S.F.: Testing large software with automated software evaluation systems. IEEE Trans. Software Engrg. SE-1, 46–58 (1975)

    Google Scholar 

  22. Stucki, L.G.: Automatic generation of self-metric software. In: Proceedings of the 1973 IEEE Symposium on Computer Software Reliability, Washington, pp. 94–100. Long Beach (Calif.): IEEE Press 1973

    Google Scholar 

  23. Stucki, L.G., Foshee, G.D.: New assertion concepts for self-metric software validation. In: Proceedings of 1975 International Conference on Reliable Software. Los Angeles, pp. 59–71. Long Beach (Calif.): IEEE Press 1975

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

This research was funded by the National Science Foundation under grant No. MCS 76-03295

Rights and permissions

Reprints and permissions

About this article

Cite this article

Howden, W.E. Algebraic program testing. Acta Informatica 10, 53–66 (1978). https://doi.org/10.1007/BF00260923

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00260923

Keywords

Navigation