|
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
|
S. Ar , M. Blum , B. Codenotti , P. Gemmell, Checking approximate computations over the reals, Proceedings of the twenty-fifth annual ACM symposium on Theory of computing, p.786-795, May 16-18, 1993, San Diego, California, United States
[doi> 10.1145/167088.167288]
|
| |
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
|
László Babai , Lance Fortnow , Leonid A. Levin , Mario Szegedy, Checking computations in polylogarithmic time, Proceedings of the twenty-third annual ACM symposium on Theory of computing, p.21-32, May 05-08, 1991, New Orleans, Louisiana, United States
[doi> 10.1145/103418.103428]
|
| |
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
|
Peter Gemmell , Richard Lipton , Ronitt Rubinfeld , Madhu Sudan , Avi Wigderson, Self-testing/correcting for polynomials and for approximate functions, Proceedings of the twenty-third annual ACM symposium on Theory of computing, p.33-42, May 05-08, 1991, New Orleans, Louisiana, United States
[doi> 10.1145/103418.103429]
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
C. Bolchini , L. Pomante , F. Salice , D. Sciuto, On-line fault detection in a hardware/software co-design environment: system partitioning, Proceedings of the 14th international symposium on Systems synthesis, September 30-October 03, 2001, Montréal, P.Q., Canada
|
|
|
Christopher Colby , Peter Lee , George C. Necula , Fred Blau , Mark Plesko , Kenneth Cline, A certifying compiler for Java, ACM SIGPLAN Notices, v.35 n.5, p.95-107, May 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Shafi Goldwasser , Dan Gutfreund , Alexander Healy , Tali Kaufman , Guy N. Rothblum, A (de)constructive approach to program checking, Proceedings of the 40th annual ACM symposium on Theory of computing, May 17-20, 2008, Victoria, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
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...
|