Skip to main content
Log in

Checking the correctness of memories

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

We extend the notion of program checking to include programs which alter their environment. In particular, we consider programs which store and retrieve data from memory. The model we consider allows the checker a small amount of reliable memory. The checker is presented with a sequence of requests (on-line) to a data structure which must reside in a large but unreliable memory. We view the data structure as being controlled by an adversary. We want the checker to perform each operation in the input sequence using its reliable memory and the unreliable data structure so that any error in the operation of the structure will be detected by the checker with high probability.

We present checkers for various data structures. We prove lower bounds of logn on the amount of reliable memory needed by these checkers wheren is the size of the structure. The lower bounds are information theoretic and apply under various assumptions. We also show time-space tradeoffs for checking random access memories as a generalization of those for coherent functions.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. L. Adelman, M. Huang, and K. Kompella, Efficient checkers for number-theoretic computation, preprint.

  2. M. Blum, W. Evans, P Gemmell, S. Kannan, and M. Naor, Checking the correctness of memories,Proc. 32nd IEEE Symposium on Foundations of Computer Science, pages 90–99, 1991.

  3. M. Blum and S. Kannan, Designing programs that check their work,Proc. 21st ACM Symposium on Theory of Computing, pages 86–97, 1989.

  4. M. Blum, M. Luby, and R. Rubinfeld, Self-testing and self-correcting programs with applications to numerical problems,Proc. 22nd ACM Symposium on Theory of Computing, pages 73–83, 1990.

  5. M. Blum, M. Luby, and R. Rubinfeld,Program Result Checking Against Adaptive Programs and in Cryptographic Settings, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 2, pages 107–118, 1991.

    MathSciNet  Google Scholar 

  6. A. Condon, Space bounded probabilistic game automata,Journal of the ACM, 38(2):472–494, April 1991.

    Article  MATH  MathSciNet  Google Scholar 

  7. C. Dwork and L. Stockmeyer, Finite states verifiers, I: the power of interaction,Journal of the ACM, 39(4):800–828, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  8. L. Fortnow, J. Rompel, and M. Sipser, On the power of multi-prover interactive protocols,Proc. 3rd IEEE Structure in Complexity Theory, pages 156–161, 1988.

  9. O. Goldreich, Towards a theory of software protection and simulation by oblivious RAMS,Proc. 19th ACM Symposium on Theory of Computing, pages 182–194, 1987.

  10. O. Goldreich, S. Goldwasser, and S. Micali, How to construct random functions,Journal of the ACM, 33(4):792–807, October 1986.

    Article  MathSciNet  Google Scholar 

  11. J. Håstad, Pseudo-random generators under uniform assumptions,Proc. 22nd ACM Symposium on Theory of Computing, pages 395–405, 1990.

  12. R. Impagliazzo, L. A. Levin, and M. Luby Pseudo-random generators from one-way functions,Proc. 21st ACM Symposium on Theory of Computing, pages 12–24, 1989.

  13. R. Lipton, Efficient checking of computations,Proc. 7th Annual Symposium on Theoretical Aspects of Computer Science, pages 207–215, 1990.

  14. R. Lipton,New Directions in Testing, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Vol. 2, pages 191–202, 1991.

    MathSciNet  Google Scholar 

  15. R. Merkle. A certified digital signature, Manuscript, 1979. See alsoAdvances in Cryptology, Crypto '89 Proceedings, pages 218–238, 1990. Lecture Notes in Computer Science, Vol. 435, Springer-Verlag, Berlin.

    Google Scholar 

  16. J. Naor and M. Naor, Small-bias probability spaces: efficient constructions and applications,Proc. 22nd ACM Symposium on Theory of Computing, pages 213–223, 1990.

  17. M. Naor and M. Yung, Universal one-way hash functions and their cryptographic applications,Proc. 21st ACM Symposium on Theory of Computing, pages 33–43, 1989.

  18. R. Ostrovsky, Efficient computation on oblivious RAMS,Proc. 22nd ACM Symposium on Theory of Computing, pages 514–523, 1990.

  19. N. Pippenger and M. J. Fischer, Relations among complexity measures,Journal of the ACM, 26(2):361–381, 1979.

    Article  MATH  MathSciNet  Google Scholar 

  20. J. Rompel, One way functions are necessary and sufficient for secure signatures,Proc. 22nd ACM Symposium on Theory of Computing, pages 387–394, 1990.

  21. A. Yao, Coherent functions and program checkers,Proc. 22nd ACM Symposium on Theory of Computing, pages 84–94, 1990.

Download references

Author information

Authors and Affiliations

Authors

Additional information

Communicated by Jeffrey Scott Vitter.

This work was supported in part by NSF Grant CCR 88-13632. A preliminary version of this paper appeared at the 32nd IEEE Symposium on Foundations of Computer Science [2].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Blum, M., Evans, W., Gemmell, P. et al. Checking the correctness of memories. Algorithmica 12, 225–244 (1994). https://doi.org/10.1007/BF01185212

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01185212

Key words

Navigation