ACM Home Page
Please provide us with feedback. Feedback
Software reliability via run-time result-checking
Full text PdfPdf (151 KB)
Source Journal of the ACM (JACM) archive
Volume 44 ,  Issue 6  (November 1997) table of contents
Pages: 826 - 849  
Year of Publication: 1997
ISSN:0004-5411
Authors
Hal Wasserman  Univ. of California, Berkeley
Manuel Blum  City Univ. of Hong Kong, Kowloon, Hong Kong; and Univ. of California, Berkeley
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 87,   Citation Count: 30
Additional Information:

abstract   references   cited by   index terms   review   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/268999.269003
What is a DOI?

Warning: The download time has expired please click on the item to try again.


ABSTRACT

We review the field of result-checking, discussing simple checkers and self-correctors. We argue that such checkers could profitably be incorporated in software as an aid to efficient debugging and enhanced reliability. We consider how to modify traditional checking methodologies to make them more appropriate for use in real-time, real-number computer systems. In particular, we suggest that checkers should be allowed to use stored randomness: that is, that they should be allowed to generate, preprocess, and store random bits prior to run-time, and then to use this information repeatedly in a series of run-time checks. In a case study of checking a general real-number linear transformation (e.g., a Fourier Transform), we present a simple checker which uses stored randomness, and a self-corrector which is particularly efficient if stored randomness is employed.


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
ALON, N., SPENCER, J., AND ERD6S, P. 1992. The Probabilistic Method. Wiley, New York.
2
 
3
ARORA, S., AND SAFRA, S. 1992. Probabilistic checking of proofs; a new characterization of NP. In Proceedings of the 33rd Annual IEEE Symposium of Foundations of Computer Science. IEEE, New York, pp. 2-13.
 
4
BABAI, L., FORTNOW, L., AND LUND, C. 1991. Non-deterministic exponential time has two-prover interactive protocols. Comput. Comp. 1, 1, 3-40.
 
5
BABAI, L., AND FORTNOW, L. 1991. Arithmetization: a new method in structural complexity theory. Comput. Comp. 1, 1, 41-46.
6
 
7
 
8
9
 
10
BLUM, M. 1988. Designing programs to check their work. International Computer Science Institute Tech. Report TR-88-009.
 
11
BLUM, M., EVANS, W., GEMMELL, P., KANNAN, S., AND NAOR, M. 1994. Checking the correctness of memories. Algorithmica 12, 2-3, 225-244.
12
 
13
 
14
 
15
BOETTcHER, C., AND MELLEMA, D.J. 1995. Program checkers: Practical applications to real-time software. Test Facility Working Group Conf.
 
16
 
17
CLEVE, R., AND LUBY, M. 1990. A note on self-testing/correcting methods for trigonometric functions. International Computer Science Institute Tech. Report 90-032.
18
 
19
 
20
FREIVALDS, R. 1979. Fast probabilistic algorithms. In Mathematical Foundations of Computer Science. Lecture Notes in Computer Science, vol. 74. Springer-Verlag, New York, pp. 57-69.
21
 
22
 
23
GOLDREICH, O., MICALI, S., AND WIGDERSON, A. 1986. Proofs that yield nothing but their validity and a methodology of cryptographic protocol design. In Proceedings of the 27th Annual IEEE Symposium on Foundation of Computer Science. IEEE, New York, pp. 174-187.
 
24
KANNAN, S. 1990. Program result-checking with applications. Ph.D. dissertation. Computer Science Division. University of California, Berkeley, Berkeley, Calif.
 
25
 
26
LIPTON, R. 1991. New directions in testing, distributed computing and cryptography. DIMACS Series Disc. Math. Theoret. Comput. Sci. 2, 191-202.
27
 
28
MICALI, S. 1992/1994. CS proofs and error-detecting computation. HIT Lab for Computer Science Tech. Report, 1992, and CS proofs. HIT Lab for Computer Science Tech. Report TM-510, 1994.
 
29
NISAN, N. 1989. Co-SAT has multi-prover interactive proofs, e-mail message.
 
30
 
31
 
32
 
33
RUBINFELD, R. 1994. On the robustness of functional equations. In Proceedings of the 35th Annual IEEE Symposium on Foundations of Computer Science. IEEE, New York, pp. 288-299.
 
34
 
35
36
 
37
SHAMIR, A. 1990. IP = PSPACE. In Proceedings of the 31st Annual IEEE Symposium on Foundations of Computer Science. IEEE, New York, pp. 11-15.
 
38
 
39
 
40
VALIANT, L. 1979. The complexity of computing the permanent. Theoret. Comput. Sci. 8, 2, 189-201.
 
41
WEGMAN, M., AND CARTER, J. 1981. New hash functions and their use in authentication and set equality. J. Comput. Syst. Sci. 22, 3, 265-279.
42

CITED BY  30


REVIEW

"Jaak Tepandi : Reviewer"

The approach to runtime result-checking presented in this paper is based on three main ideas. The first is the asymmetry of many functions with respect to their inverse from the computational complexity point of view. This asymmetry is widely   more...

Collaborative Colleagues:
Hal Wasserman: colleagues
Manuel Blum: colleagues