z-logo
Premium
Program testing versus proofs of correctness
Author(s) -
Howden William E.
Publication year - 1991
Publication title -
software testing, verification and reliability
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.216
H-Index - 49
eISSN - 1099-1689
pISSN - 0960-0833
DOI - 10.1002/stvr.4370010103
Subject(s) - correctness , mathematical proof , computer science , programmer , algorithm , programming language , operator (biology) , error detection and correction , process (computing) , theoretical computer science , mathematics , biochemistry , chemistry , geometry , repressor , transcription factor , gene
It is argued that the goal in verification and validation is not correctness, but the detection of the occurrence of errors in the program construction process. Different methods, such as proofs and testing, should not be viewed as competing techniques, but as complementary methods used to detect different kinds of error. Proofs, for example, are appropriate for the detection of logical errors made during algorithm design, but are not appropriate for detecting detailed programming errors. Testing is useful for detecting other kinds of error. Mutation testing, for example, can be used to detect “typographical errors”, such as the use of the wrong arithmetic operator. Functional static analysis can be used to detect decomposition errors in which a programmer working on one part of a system makes a false assumption about the properties of objects that are established in some other part of the system. A brief summary of different methods is given, along with a description of the kind of error classes for which they are appropriate. An integrated approach to verification and validation is suggested in which, error classes are characterized, and methods, identified as being particularly appropriate for such classes, are combined.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here