Matrix multiplication via arithmetic progressions
STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
Founding crytpography on oblivious transfer
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Bounded-width polynomial-size branching programs recognize exactly those languages in NC1
Journal of Computer and System Sciences - 18th Annual ACM Symposium on Theory of Computing (STOC), May 28-30, 1986
Languages that are easier than their proofs
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Self-testing/correcting with applications to numerical problems
Journal of Computer and System Sciences - Special issue: papers from the 22nd ACM symposium on the theory of computing, May 14–16, 1990
A minimal model for secure computation (extended abstract)
STOC '94 Proceedings of the twenty-sixth annual ACM symposium on Theory of computing
Designing programs that check their work
Journal of the ACM (JACM)
BPP has subexponential time simulations unless EXPTIME has publishable proofs
Computational Complexity
Software reliability via run-time result-checking
Journal of the ACM (JACM)
Perfect Constant-Round Secure Computation via Perfect Randomizing Polynomials
ICALP '02 Proceedings of the 29th International Colloquium on Automata, Languages and Programming
A Probabilistic-Time Hierarchy Theorem for "Slightly Non-uniform" Algorithms
RANDOM '02 Proceedings of the 6th International Workshop on Randomization and Approximation Techniques
In Search of an Easy Witness: Exponential Time vs. Probabilistic Polynomial Time
CCC '01 Proceedings of the 16th Annual Conference on Computational Complexity
Pseudorandomness and Average-Case Complexity via Uniform Reductions
CCC '02 Proceedings of the 17th IEEE Annual Conference on Computational Complexity
Efficient Generation of Random Nonsingular Matrices
Efficient Generation of Random Nonsingular Matrices
Hierarchy Theorems for Probabilistic Polynomial Time
FOCS '04 Proceedings of the 45th Annual IEEE Symposium on Foundations of Computer Science
Uniform hardness versus randomness tradeoffs for Arthur-Merlin games
Computational Complexity
Hierarchies for semantic classes
Proceedings of the thirty-seventh annual ACM symposium on Theory of computing
Circuit lower bounds for Merlin-Arthur classes
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
Low-end uniform hardness vs. randomness tradeoffs for AM
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
Verifying and decoding in constant depth
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
SIAM Journal on Computing
Nondeterministic exponential time has two-prover interactive protocols
SFCS '90 Proceedings of the 31st Annual Symposium on Foundations of Computer Science
From secrecy to soundness: efficient verification via secure computation
ICALP'10 Proceedings of the 37th international colloquium conference on Automata, languages and programming
Uniform derandomization from pathetic lower bounds
APPROX/RANDOM'10 Proceedings of the 13th international conference on Approximation, and 14 the International conference on Randomization, and combinatorial optimization: algorithms and techniques
Randomly encoding functions: a new cryptographic paradigm
ICITS'11 Proceedings of the 5th international conference on Information theoretic security
Guest column: a casual tour around a circuit complexity bound
ACM SIGACT News
Locality and checkability in wait-free computing
DISC'11 Proceedings of the 25th international conference on Distributed computing
From randomizing polynomials to parallel algorithms
Proceedings of the 3rd Innovations in Theoretical Computer Science Conference
On beating the hybrid argument
Proceedings of the 3rd Innovations in Theoretical Computer Science Conference
Shielding circuits with groups
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Hi-index | 0.00 |
Program checking, program self-correcting and program self-testing were pioneered by [Blum and Kannan] and [Blum, Luby and Rubinfeld] in the mid eighties as a new way to gain confidence in software, by considering program correctness on an input by input basis rather than full program verification. Work in the field of program checking focused on designing, for specific functions, checkers, testers and correctors which are more efficient than the best program known for the function. These were designed utilizing specific algebraic, combinatorial or completeness properties of the function at hand. In this work we introduce a novel composition methodology for improving the efficiency of program checkers. We use this approach to design a variety of program checkers that are provably more efficient, in terms of circuit depth, than the optimal program for computing the function being checked. Extensions of this methodology for the cases of program testers and correctors are also presented. In particular, we show: For all i ≥ 1, every language in RNCi (that is NCO-hard under NCZ-reductions) has a program checker in RNCi-1. In addition, for all i ≥ 1, every language in RNCi (that is NCO-hard under ACZ-reductions) has a program corrector, tester and checker in RACi-1. This is the first time checkers are designed for a wide class of functions characterized only by its complexity, rather than by algebraic or combinatorial properties. This characterization immediately yields new and efficient checkers for languages such as graph connectivity, perfect matching and bounded-degree graph isomorphism. Constant-depth checkers, testers and correctors for matrix multiplication, inversion, determinant and rank. All previous program checkers, testers and correctors for these problems run in nearly logarithmic depth. Moreover, except for matrix multiplication, they all require the use of the library notion of [Blum-Luby-Rubinfeld], in which checkers have access to a library of programs for various matrix functions, rather than only having access to a program for the function being checked. Furthermore, we provide conditions under which program libraries can be eliminated. Important ingredients in these results are new and very efficient checkers for complete languages in low complexity classes (e.g. NCO). These constructions are based on techniques that were developed in the field of cryptography.