
doi: 10.1007/bf00289588
The formal idea of reliability of a set of test data for a program is explored. Although this idea captures something of what testing should accomplish in practice, it has two defects: in general it is impossible to tell if a given test is reliable; and, if reliability is attained, the test points are linked to errors no longer present, not to the corrected program. Should the program be changed, these tests are intuitively worthless. Two variations of the idea to overcome these defects are suggested: In both variations a new idea arises naturally. Test data "determines" programs for which it is reliable (in the variations defined): given the data there is an algorithm for deciding if programs satisfying it have unique behavior. Any variation of the reliability idea which can be effectively recognized can be used to determine programs in this way. A testing methodology is proposed based on any effective reliability notion. A human being, using noneffective methods, attempts to satisfy a mechanical judgement of reliability. If the person succeeds, the resulting test can be attached to the program, where it is useful when the program is changed. Confidence in the program/test combination is based on the knowledge that no program can satisfy the test yet differ from the given one. That is, the test itself is an unambiguous specification of the program. It is proposed that testing theory seek out modified reliability ideas with this effective, determining property, and that noneffective ideas of program correctness may find their practical place in aiding people to discover the necessary tests.
Specification and verification (program logics, model checking, etc.), reliability, program correctness, program testing, augment program specifications
Specification and verification (program logics, model checking, etc.), reliability, program correctness, program testing, augment program specifications
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 6 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
