ACM Home Page
Please provide us with feedback. Feedback
Formal program testing
Full text PdfPdf (641 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Williamsburg, Virginia
Pages: 125 - 132  
Year of Publication: 1981
ISBN:0-89791-029-X
Author
Robert Cartwright  Rice University
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 30,   Citation Count: 3
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/567532.567546
What is a DOI?

ABSTRACT

This paper proposes a practical alternative to program verification -- called formal program testing -- with similar, but less ambitious goals. Like a program verifier, a formal testing system takes a program annotated with formal specifications as input, generates the corresponding verification conditions, and passes them through a simplifier. After the simplification step, however, a formal testing system simply evaluates the verification conditions on a representative set of test data instead of trying to prove them. Formal testing provides strong evidence that a program is correct, but does not guarantee it. The strength of the evidence depends on the adequacy of the test data.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
{Boyer and Moore 79} Boyer, R. S., and Moore, J S. A Computational Logic, Academic Press, New York, 1979.
 
3
{Brand 76} Brand, D.; "Proving Programs Incorrect," Proceedings Third International Colloquium on Automata, Languages and Programming, Edinburgh U. Press, Edinburgh, 1976, pp. 201-227.
4
5
 
6
{Cartwright 76a} Cartwright, R. S.; "User-Defined Data Types as an Aid to Verifying LISP Programs," Proceedings Third International Colloquium on Automata, Languages and Programming, Edinburgh U. Press, Edinburgh, 1976, pp. 228-256.
 
7
{Cartwright 76b} Cartwright, R. S.; A Practical Formal Semantic Definition and Verification System for TYPED LISP, Stanford Artificial Intelligence Laboratory Memo AIM-296, Stanford University, 1976.
8
 
9
{Earley 73} Earley, J.; "High Level Operations in Automatic Programming," Computer Science Department, Technical Report 22, University of California, Berkeley, 1973.
 
10
{Earley 74} Earley, J.; "High Level Iterators and a Method for Automatically Designing Data Structure Representation," Electronics Research Laboratory, Memorandum No. ERL-M425, University of California, Berkeley, 1974.
11
12
 
13
{Guttag and Horning 78} Guttag, J. V. and J J. Horning; "The Algebraic Specification of Abstract Data Types," Acta Informatica 10, pp. 27-52.
 
14
 
15
{Hoare 72} Hoare, C. A. R.; "Proofs of Correctness of Data Representation," Acta Informatica 1, 271-281.
 
16
{Hoare 75} Hoare, C. A. R. "Recursive Data Structures," International Journal of Comment and Information Sciences 4,2, pp. 105-132.
 
17
{Igarashi, London and Luckham 75} Igarashi, S., London; R. L., and Luckham, D. C.; "Automatic Program Verification I: Logical Basis and Its Implementation," Acta Informatica 4, pp. 145-182.
 
18
{Kennedy and Schwartz 75} Kennedy, K. and Schwartz, J. T, "An Introduction to the Set Theoretical Language SETL," J. Comptr. and Math. with Applications 1 (1975), pp. 97-119.
 
19
{Liskov and Zilles 75} Liskov, B. and S. Zilles; "Specification Techniques for Data Abstractions," IEEE Transactions on Software Engineering, Vol. SE-1, pp. 7-19.
 
20
{Liskov and Berzins 80} Liskov, B. and V. Berzins; "An Appraisal of Program Specifications," in Research Directions in Software Technology, P. Wegner (ed.), MIT Press, pp. 276-302.
21
 
22
{McCarthy 63} McCarthy, J.; "A Basis for a Mathematical Theory of Computation," in Computer Programming and Formal Systems, Braffort and Hirschberg, eds., North-Holland, 1963.
23
 
24
{Schwartz 79} Schwartz, J.; Personal communication.
25