Completeness theorems for non-cryptographic fault-tolerant distributed computation
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Multiparty unconditionally secure protocols
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Monte-Carlo approximation algorithms for enumeration problems
Journal of Algorithms
Designing programs that check their work
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Self-stabilizing extensions for message-passing systems
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Self-stabilization of dynamic systems assuming only read/write atomicity
PODC '90 Proceedings of the ninth annual ACM symposium on Principles of distributed computing
Knowledge and common knowledge in a byzantine environment: crash failures
Information and Computation
Self-testing/correcting with applications to numerical problems
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
Self-testing/correcting for polynomials and for approximate functions
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Checking the correctness of memories
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Self-stabilization by local checking and correction (extended abstract)
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
A mathematical theory of self-checking, self-testing and self-correcting programs
A mathematical theory of self-checking, self-testing and self-correcting programs
Witness-based cryptographic program checking and robust function sharing
STOC '96 Proceedings of the twenty-eighth annual ACM symposium on Theory of computing
The local detection paradigm and its applications to self-stabilization
Theoretical Computer Science
Simple constant-time consensus protocols in realistic failure models (extended abstract)
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
The Byzantine Generals Problem
ACM Transactions on Programming Languages and Systems (TOPLAS)
Batch Verification with Applications to Cryptography and Checking
LATIN '98 Proceedings of the Third Latin American Symposium on Theoretical Informatics
Hiding Instances in Multioracle Queries
STACS '90 Proceedings of the 7th Annual Symposium on Theoretical Aspects of Computer Science
Fast Checkers for Cryptography
CRYPTO '90 Proceedings of the 10th Annual International Cryptology Conference on Advances in Cryptology
Approximate checking of polynomials and functional equations
FOCS '96 Proceedings of the 37th Annual Symposium on Foundations of Computer Science
Program checkers for algebraic problems*
Program checkers for algebraic problems*
On the robustness of functional equations
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
Locality and checkability in wait-free computing
DISC'11 Proceedings of the 25th international conference on Distributed computing
A metabolic approach to protocol resilience
WAC'04 Proceedings of the First international IFIP conference on Autonomic Communication
Hi-index | 0.00 |
In this paper we suggest the notion of self-testing/correcting protocols. The work initiates the merge of distributed computing and the area of "program checking" introduced by Blum, and specifically employs extended notions from the work of Blum, Luby and Rubinfeld. In this setting, given a protocol P (a collection of programs on a network of n processors) which allegedly implements a distributed function f, a self-tester for f is a (simpler) protocol which makes calls to P to estimate the probability that P when executed in a given environment is faulty (i.e., P and f differ in some of the outputs). A self-correcting protocol is another protocol which allows for the computation of f correctly on every input (with high probability) as long as P in the same type of environment is not too faulty. We first consider self-testing/correcting under a basic form of environmental malfunction, that of crash failures, and design a self-tester/corrector pair for protocols implementing the agreement "function." Many distributed protocols can be designed "on top" of this primitive, and can be self tested/corrected whenever it can be. We then consider selftesting/ correcting under gossiping failures, and present a generic selftesting/ correcting pair that is privacy-preserving. The notion is basic in protocols where secrecy is an issue. A self-corrector for P is privacy-preserving if it is private (with overwhelming probability) whenever P is private (with overwhelming probability). In the process of our study, we identify the basic components of a protocol self-testing "utility library," which allows for the safe bootstrapping of the self-testing/correcting process.