Results 1 
3 of
3
SelfTesting/Correcting with Applications to Numerical Problems
, 1990
"... Suppose someone gives us an extremely fast program P that we can call as a black box to compute a function f . Should we trust that P works correctly? A selftesting/correcting pair allows us to: (1) estimate the probability that P (x) 6= f(x) when x is randomly chosen; (2) on any input x, compute ..."
Abstract

Cited by 347 (27 self)
 Add to MetaCart
Suppose someone gives us an extremely fast program P that we can call as a black box to compute a function f . Should we trust that P works correctly? A selftesting/correcting pair allows us to: (1) estimate the probability that P (x) 6= f(x) when x is randomly chosen; (2) on any input x, compute f(x) correctly as long as P is not too faulty on average. Furthermore, both (1) and (2) take time only slightly more than Computer Science Division, U.C. Berkeley, Berkeley, California 94720, Supported by NSF Grant No. CCR 8813632. y International Computer Science Institute, Berkeley, California 94704 z Computer Science Division, U.C. Berkeley, Berkeley, California 94720, Supported by an IBM Graduate Fellowship and NSF Grant No. CCR 8813632. the original running time of P . We present general techniques for constructing simple to program selftesting /correcting pairs for a variety of numerical problems, including integer multiplication, modular multiplication, matrix multiplicatio...
Program Result Checking Against Adaptive Programs and in Cryptographic Settings (Extended Abstract)
 In DIMACS Workshop on Distributed Computing and Crypthography
, 1990
"... ) Manuel Blum Computer Science Division U.C. Berkeley Berkeley, California 94720 Michael Luby International Computer Science Institute Berkeley, California 94704 Ronitt Rubinfeld y Computer Science Division U.C. Berkeley Berkeley, California 94720 May 17, 1990 Abstract The theory of p ..."
Abstract

Cited by 14 (4 self)
 Add to MetaCart
) Manuel Blum Computer Science Division U.C. Berkeley Berkeley, California 94720 Michael Luby International Computer Science Institute Berkeley, California 94704 Ronitt Rubinfeld y Computer Science Division U.C. Berkeley Berkeley, California 94720 May 17, 1990 Abstract The theory of program result checking introduced in [Blum] allows one to check that a program P correctly computes the function f on input x. The checker may use P 's outputs on other inputs to help it check that P (x) = f(x). In this setting, P is always assumed to be a fixed program, whose output on input x is a function P (x). We extend the theory to check a program P which returns a result on input x that may depend on previous questions asked of P . We call a checker that works for such a program an adaptive checker. We consider the case where there is an adaptive program that supposedly computes f running on each of several noninteracting machines. We design adaptive checkers that work for a c...
A Mathematical Theory of SelfChecking, SelfTesting and SelfCorrecting Programs
"... We present general techniques for constructing simple to program selftesting/correcting pairs for a variety of numerical functions. The selftesting/correcting pairs introduced for many of the problems are based on the property that the solution to a particular instance of the problem can be expres ..."
Abstract
 Add to MetaCart
We present general techniques for constructing simple to program selftesting/correcting pairs for a variety of numerical functions. The selftesting/correcting pairs introduced for many of the problems are based on the property that the solution to a particular instance of the problem can be expressed as the solution to a few random instances of the same size. An important idea is to design selftesting/correcting pairs for an entire library of functions rather than for each function individually. We extend these notions and some of the general techniques to check programs for some specific functions which are only intended to give good approximations to f (x). We extend the above models and techniques of program result checking and selftesting/correcting to the case where the behavior of the program is modelled as being adaptive, i.e. the program may not always give the same answer on a particular input. These stronger checkers provide multiprover interactive proofs for these problems. The theory of checking is also extended to parallel programs [Rubinfeld]. We construct parallel checkers for many basic problems in parallel computation. We show that for some problems, result checkers which are much more efficient can be constructed if the answers are checked in batches, i.e. many answers are checked at the same time. For these problems, the multiplicative overhead of checking the result can be made arbitrarily small.