Skip to main content

Self-Testing/Correcting Protocols

(Extended Abstract)

  • Conference paper
  • First Online:
Distributed Computing (DISC 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1693))

Included in the following conference series:

Abstract

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 environ- mental malfunction, that of crash failures, and design a self-tester/cor- rector 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 self- testing/ correcting under gossiping failures, and present a generic self- testing/ 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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Y. Afek, S. Kutten and M. Yung, “The Local Detection Paradigm and Its Applications to Self-Stabilization.” TCS 186(1-2), pp. 199–229 (1997).

    Article  MATH  MathSciNet  Google Scholar 

  2. L. Adleman and K. Kompella. “Fast Checkers for Cryptography.” In CRYPTO’ 90, pp. 515–529.

    Google Scholar 

  3. B. Awerbuch, B. Patt-Shamir and G. Varghese, “Self Stabilizing by local Checking and Correction.” In FOCS’ 91, pp. 268–277.

    Google Scholar 

  4. M. Blum, “Designing programs to check their work.” Communications of the ACM.

    Google Scholar 

  5. P. Berman and A. Bharali, “Quick Atomic Broadcast.” In WDAG’ 93.

    Google Scholar 

  6. M. Blum, W. Evans, P. Gemmell, S. Kannan, and M. Naor. “Checking the Correctness of Memories.” In FOCS’ 91, pp. 90–99.

    Google Scholar 

  7. D. Beaver and J. Feigenbaum, ”Hiding Instances in Multioracle Queries.” In STACS’ 90, pp. 37–48.

    Google Scholar 

  8. M. Bellare, J. Garay and T. Rabin. “Batch Verification with Applications to Cryptography and Checking” (invited paper). In LATIN’ 98, pp. 170–191.

    Google Scholar 

  9. M. Ben-Or, S. Goldwasser, and A. Wigderson, “Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation.” In STOC’ 88, pp. 1–10.

    Google Scholar 

  10. M. Blum and S. Kannan, “Designing programs to check their work.” In STOC’ 89, pp. 86–97.

    Google Scholar 

  11. M. Blum, M. Luby, and R. Rubinfeld, “Self-Testing/Correcting with Applications to Numerical Problems.” In STOC’ 90, pp. 73–83.

    Google Scholar 

  12. D. Chaum, C. Crepeau and I. Damgard. “Multiparty Unconditionally Secure Protocols.” In STOC’ 88, pp. 11–19.

    Google Scholar 

  13. B. Chor, M. Merritt, and D. Shmoys, “Simple Constant-Time Consensus Protocols in Realistic Failure Models.” In PODC’ 85, pp. 152–162.

    Google Scholar 

  14. D. Dolev, “The Byzantine Generals Strike Again,” Journal of Algorithms, 3(1):14–30, January 1982.

    Article  MATH  MathSciNet  Google Scholar 

  15. S. Dolev, A. Israeli and S. Moran, “Self Stabilization of Dynamic Systems assuming only Read/Write Atomicity.” In PODC’ 90, pp. 103–117.

    Google Scholar 

  16. C. Dwork and Y. Moses, “Knowledge and common knowledge in a Byzantine environment: crash failures.” Information and Computation 88, pp. 156–186 (1990).

    Article  MATH  MathSciNet  Google Scholar 

  17. F. Ergun, S. Ravi Kumar and R. Rubinfeld. “Approximate Checking of Polynomials and Functional Equations.” In FOCS’ 96, pp. 592–601.

    Google Scholar 

  18. Y. Frankel, P. Gemmell and M. Yung. “Witness-Based Cryptographic Program Checking and Robust Function Sharing.” In STOC’ 96, pp. 499–508.

    Google Scholar 

  19. P. Gemmell, R. Lipton, R. Rubinfeld, M. Sudan, and A. Wigderson. “Self-testing/ correcting for polynomials and for approximate functions.“ In STOC’ 91, pp. 32–42.

    Google Scholar 

  20. S. Kannan, “Program Checkers for Algebraic Problems.” Ph.D. Thesis, ICSI TR-89-064, December 1989.

    Google Scholar 

  21. R. Karp, M. Luby, and N. Madras, “Monte-Carlo Approximation Algorithms for Enumeration Problems.” Journal of Algorithms 10, pp. 429–448 (1989).

    Article  MATH  MathSciNet  Google Scholar 

  22. S. Katz and K. Perry, “Self-Stabilizing Extensions for Message-Passing Systems.” In PODC’ 90, pp. 91–101.

    Google Scholar 

  23. R. Lipton, “New Directions in Testing,” DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 2 (1991), pp. 191–202.

    MathSciNet  Google Scholar 

  24. L. Lamport, R.E. Shostak and M. Pease, “The Byzantine Generals Problem,” ACM ToPLaS, Vol. 4,No. 3 (1982), pp. 382–401.

    Article  MATH  Google Scholar 

  25. R. Rubinfeld, “A Mathematical Theory of Self-Checking, Self-Testing and Self-Correcting Programs.” Ph.D. Thesis, ICSI TR-90-054, October 1990.

    Google Scholar 

  26. R. Rubinfeld. “On the Robustness of Functional Equations.” In FOCS’ 94, pp. 2–13.

    Google Scholar 

  27. R. Rubinfeld. “Designing Checkers for Programs that Run in Parallel.” Algorithmica 15(4), pp. 287–301, 1996.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Franklin, M., Garay, J.A., Yung, M. (1999). Self-Testing/Correcting Protocols. In: Jayanti, P. (eds) Distributed Computing. DISC 1999. Lecture Notes in Computer Science, vol 1693. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48169-9_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-48169-9_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66531-1

  • Online ISBN: 978-3-540-48169-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics