skip to main content
10.1145/271771.271788acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article
Free Access

What can we learn by testing a program?

Authors Info & Claims
Published:01 March 1998Publication History

ABSTRACT

It is conventional to start research papers on software engineering, particularly on testing and software quality, with a statement of how important software has become in the world, and the potential dangers of using it when those who construct it really don't know what they are doing. The author then goes on to show that his or her theory/method/insights/tools will make the world safe (or safer, if the author is modest) by providing the understanding that is lacking. ISSTA authors (I among them) have started many of their papers in just this way, but speaking for myself, these statements are window dressing --- they disguise my real concern. Long before software was any part of the workaday world, before there was any "software problem" or even much software, I was interested in program analysis because programs are arguably the most intriguing mathematical objects people create. I have happily pursued the study of programs for over 30 years.I wrote my first program (in ALGOL 58) in 1962 --- it failed to properly calculate a table of values of the error integral, being somewhat off in the third significant figure. (I remember the failure, and the debugging, poring over a decimal memory dump. But I can't recall the fault.) It took me until the mid-1960s to recognize that programs per se were much more interesting than their applications: I stumbled on Maurice Halstead's book [4] on self-compiling NELIAC compilers. Here was magical stuff: the master program defining a language, and itself written in that language! In my application to the University of Washington, I explained that I wanted to study computers "for themselves, not as they are used." Paul Klee, the topologist who was saddled with the task of replying to mathematics grad students that year, wrote back to assure me that "we've got a computer around here somewhere, and by the time you arrive I'm sure I can locate it." It was an IBM 7090, complete with IBSYS and FORTRAN, and who could have asked for software more in need of analysis?There were standards of respectability for a PhD dissertation even in those days, so I took up recursive function theory and the program-equivalence problem. Its application to testing is that we would like to know if the program under test differs from its functional specification --- that is, can it fail? Any understanding of programs through testing (a mechanical process) must come up against the program-equivalence problem: we cannot hope to gain full understanding, because to do so would be to solve the unsolvable problem. My dissertation was an exploration of the additional information (beyond the purely functional) needed to make the program-equivalence problem solvable [5]. What brought me to the first ISSTA in 1978 was Bill Howden's 1976 paper "Reliability of the path analysis strategy" [6].

References

  1. 1.J. Duran and $. Ntafos. An evaluation of random testing. IEEE Trans. on Soft. Eng., 10:438-444, 1984.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.P. Frankl and E. Weyuker. A formal analysis of the fault-detecting ability of ~esting methods. IEEE Trans. on Soft. Eng., 19:202-213, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Phyllis G. Frankl and $tewar~ N. Weiss. An experimental comparison of ~he effectiveness of branch ~esting and data flow testing. IEEE tYans, on Soft. Eng., 10:774-787, Augus~ 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.M. H. Hals~ead. Machine-Independent Computer Programming. Spartan ' Books, Washingf, on, DG, 1962. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.R. G. Hamlet. A pa~en~~ problem for abs{ract programming languages: machine-independen~ compurations. In 4th A OM Symposium on Theory of Computing, pages 193-197, Denver, CO, 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.W. E. Howden. Reliability of ~he path analysis tesing s~rategy. IEEE Trans. on Soft. Eng., 2:208-215, 1976.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. What can we learn by testing a program?

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  ISSTA '98: Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
                  March 1998
                  170 pages
                  ISBN:0897919718
                  DOI:10.1145/271771

                  Copyright © 1998 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 1 March 1998

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  ISSTA '98 Paper Acceptance Rate16of47submissions,34%Overall Acceptance Rate58of213submissions,27%

                  Upcoming Conference

                  ISSTA '24

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader