A complementary approach to program analysis and testing

  • A. Endres
  • W. Glatthaar
Software Systems Development
Part of the Lecture Notes in Computer Science book series (LNCS, volume 65)


The paper is a contribution to the theory of program testing. We first discuss why program testing is superior in some respects to program proving. Then current strategies and criteria for test case selection are reviewed and their shortcomings identified. A methodology is proposed to facilitate the selection of a set of test cases which is adequate for functional verification. It is necessary, however, that certain complementary information be used which can be derived from the program text through formal analysis.


Software engineering software reliability program verification program testing program semantics 


  1. Bauer, F.L.: Variables considered harmful,Tech. Univ. Munich, Report 7513 (1975)Google Scholar
  2. Boehm, B.W. et al: Some experience with automated aids to the design of large-scale reliable software, Proceedings Intern. Conf. on Reliable Software, Los Angeles (1975).Google Scholar
  3. Dijkstra, E.W.: Notes on structured programming, Eindhoven Technical University, Report EWD 249 (1969).Google Scholar
  4. Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs, Comm. ACM 18,8 (1975)Google Scholar
  5. Endres, A.: An analysis of errors and their causes in system programs, IEEE Transactions on Software Engineering, 1,2 (1975).Google Scholar
  6. Endres, A.: de Analyse und Verifikation von Programmen, R. Oldenbourg, Munich (1977)Google Scholar
  7. Goodenough, J.B. and Gerhart, S.L.: Toward a theory of test data selection, IEEE Transactions on Software Engineering, 1,2 (1975).Google Scholar
  8. Goodenough, J.B.: Exeption handling: Issues and a proposed notation, Comm. ACM 18,12 (1975)Google Scholar
  9. Howden, W.E.: Reliability of the path analysis testing strategy, IEEE Trans. in Software Engg. 2,3 (1976)Google Scholar
  10. Huang, J.C.: An approach to program testing, ACM Comp. Surveys 7,3 (1975).Google Scholar
  11. Liskov, B.H.: A note on CLU, MIT Project MAC, Memo 112 (1974).Google Scholar
  12. McCarthy, J.: Towards a mathematical science of computation, Proceedings IFIP Congress, Munich (1962).Google Scholar
  13. Miller, E.F. and Paige, M.R.: Automatic generation of software test cases, Proceedings Eurocomp Conference, Uxbridge (1974).Google Scholar
  14. Miller, E.F.: Program testing: art meets theory,IEEE Computer 9,5 (1977)Google Scholar
  15. Mills, H.D.: Top down programming in large systems, In Debugging Techniques in Large Systems, R.Rustin (ed), New York University (1971).Google Scholar
  16. Wegbreit, B.: The treatment of data types in EL1, Comm ACM 17,5 (1974).Google Scholar
  17. Wirth, N.: Program development by stepwise refinement, Comm ACM 14,4 (1971).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1978

Authors and Affiliations

  • A. Endres
    • 1
  • W. Glatthaar
    • 1
  1. 1.IBM CorporationBoeblingenGermany

Personalised recommendations