|
ABSTRACT
A program correctness checker is an algorithm for checking the output of a computation. That is, given a program and an instance on which the program is run, the checker certifies whether the output of the program on that instance is correct. This paper defines the concept of a program checker. It designs program checkers for a few specific and carefully chosen problems in the class FP of functions computable in polynomial time. Problems in FP for which checkers are presented in this paper include Sorting, Matrix Rank and GCD. It also applies methods of modern cryptography, especially the idea of a probabilistic interactive proof, to the design of program checkers for group theoretic computations.Two structural theorems are proven here. One is a characterization of problems that can be checked. The other theorem establishes equivalence classes of problems such that whenever one problem in a class is checkable, all problems in the class are checkable.
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
|
|
| |
3
|
~BARW~SE, J. 1989. Mathematical proofs of computer system correctness. Notices AMS 36, 7.
|
| |
4
|
|
| |
5
|
|
| |
6
|
Manuel Blum , Will Evans , Peter Gemmell , Sampath Kannan , Moni Naor, Checking the correctness of memories, Proceedings of the 32nd annual symposium on Foundations of computer science, p.90-99, September 1991, San Juan, Puerto Rico
[doi> 10.1109/SFCS.1991.185352]
|
 |
7
|
|
 |
8
|
M. Blum , M. Luby , R. Rubinfeld, Self-testing/correcting with applications to numerical problems, Proceedings of the twenty-second annual ACM symposium on Theory of computing, p.73-83, May 13-17, 1990, Baltimore, Maryland, United States
[doi> 10.1145/100216.100225]
|
| |
9
|
|
| |
10
|
~BUDD, T. m., AND ANGLUIN, D. 1982. Two notions of correctness and their relation to testing. ~Acta Inf. 18, 31-45.
|
| |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
~FEIGENBAUM, J. 1993. Locally random reductions in interactive complexity theory. In Ad- ~vances in Computational Complexity, DIMACS Series ill Discrete Mathemattcs and Theoretical ~Computer Science, vol. 13. AMS, Providence, R.I., pp. 73-98.
|
| |
15
|
|
| |
16
|
~FREIVALDS, R. 1979. Fast probabilistic algorithms. In Mathemaucal Formulations of CS. Lec- ~ture Notes in Computer Science, vol. 74. Springer-Verlag, New York, pp. 57-69.
|
| |
17
|
~FURST, M., HOPCROFT, J. E., AND LUKS, E. 1980. Polynomial-time algorithms for permutation ~groups. In Proceedings of the 21st IEEE Symposium on Foundations of Computer Science. IEEE ~Computer Society, Los Alamitos, Calif., pp. 36-41.
|
 |
18
|
|
| |
19
|
|
| |
20
|
~GOLDWASSER, S., AND SIPSER, M. 1989. Public coins vs. private coins in interactive proof ~systems. In Advances m Computing Research--Vol. 5.' Randomness and Computation. JAI Press, ~Greenwich, Conn., pp. 73-90.
|
| |
21
|
~GORENSTEIN, D. 1982. Finite Simple Groups--An Introduction to Their Classification. Plenum ~Press, New York.
|
| |
22
|
~HOFFMANN, C.M. 1982. Group-Theorettc Algorithms and Graph Isomorphism. In Lecture Notes ~in Computer Science. G. Goos and J. Hartmanis, eds. vol. 136. Springer-Verlag, Berlin, ~Germany.
|
| |
23
|
|
| |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
LEON, J.S. 1984. Computing automorphism groups of combinatorial objects. In Computational ~Group Theory M. D. Atkinson, Ed. Academic Press, London, England, pp. 321-335.
|
| |
28
|
~LIPTON, R. 1991. New directions in testing. In Distributed Computing and Cryptography, DI- ~MACS series in Discrete Mathematics and Theoretical Computer Science, vol. 2. AMS, Providence, ~R.I., pp. 191-202.
|
 |
29
|
|
| |
30
|
~MATHON, R.A. 1979. A note on the graph isomorphism counting problem. Inf. Proc. Lett. 8, ~131-t32.
|
| |
31
|
|
| |
32
|
~RABIN, M.O. 1976. Probabilistic algorithms. In Algorithms and Complexity, Recent Results and ~New Directions, J. F. Traub, ed. Academic Press, Orlando, Fla., pp. 21-40.
|
| |
33
|
~RUBINFELD, R. 1990. Designing checkers for programs that run in parallel. Tech. Rep. TR-090- ~040. International Computer Science Institute, Berkeley, Calif., August.
|
| |
34
|
~SCHONING, U. 1985. Robust algorithms: A different approach to oracles. Theoret. Comput. Sci. ~40, 57-66.
|
 |
35
|
|
| |
36
|
~TOMPA, M., AND WOL{, H. 1987. Random self-reducibility and zero knowledge interactive ~proofs of possession of information. In Proceedings of the 28th IEEE Symposium on Foundations ~of Computer Science. IEEE Computer Society, Los Alamitos, Calif., pp. 472-482.
|
 |
37
|
|
| |
38
|
~WEGMAN, M. N. AND CARTER, J.L. 1981. New hash functions and their use in authentication ~and set equality. J. Comput. Syst. Sci. 22 3, 265-279.
|
CITED BY 44
|
|
|
|
|
|
|
|
|
|
|
Dick Hamlet , Dave Mason , Denise Woit, Theory of software reliability based on components, Proceedings of the 23rd International Conference on Software Engineering, p.361-370, May 12-19, 2001, Toronto, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Funda Ergün , Ravi Kumar , Ronitt Rubinfeld, Fast approximate PCPs, Proceedings of the thirty-first annual ACM symposium on Theory of computing, p.41-50, May 01-04, 1999, Atlanta, Georgia, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Shafi Goldwasser , Dan Gutfreund , Alexander Healy , Tali Kaufman , Guy N. Rothblum, Verifying and decoding in constant depth, Proceedings of the thirty-ninth annual ACM symposium on Theory of computing, June 11-13, 2007, San Diego, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|