skip to main content
10.1145/73007.73015acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
Article
Free Access

Designing programs that check their work

Authors Info & Claims
Published:01 February 1989Publication History

ABSTRACT

A program correctness checker is an algorithm for checking the output of a computation. This paper defines the concept of a program checker. It designs program checkers for a few specific and carefully chosen problems in the class P of problems solvable in polynomial time. It also applies methods of modern cryptography, especially the idea of a probabilistic interactive proof, to the design of program checkers for group theoretic computations. Finally it characterizes the problems that can be checked.

References

  1. A.D. Angluin, "Lecture Notes on the Complexity of Some Problems in Number Tl~eory," Yale Technical Report #243 (1982).Google ScholarGoogle Scholar
  2. B1.R. Beigel, personal communication.Google ScholarGoogle Scholar
  3. B2.M. Blum, "Designing Programs to Check Their Work", submitted for publication in CACM.Google ScholarGoogle Scholar
  4. BA.T.A. Budd and D. Angluin, "Two Notions of Correcmess and Their Relation to Testing," Acta Informaflea, v. 18, 31-45 (1982).Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BCG.E.R. Berlekamp, J.H. Conway, and R.K. Guy, "Winning Ways," Academic Press, (1982).Google ScholarGoogle Scholar
  6. BR.M. Blum and P. Raghavan, "Program Correctness: Can One Test for It?," IBM T.J. Watson Research Center Technical Report (1988).Google ScholarGoogle Scholar
  7. CFGMW.L. Carter, R. Floyd, J. Gill, G. Markowsky & M. Wegman, "Exact and Approximate Membership Testers" 10th ACM Symposium on Theory of Computing, 59-65 (t978). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. F.R. Freivalds, "Fast Probabilistic Algorithms," Springer Vefiag Lecture Notes in CS #74, Mathematical Foundations of CS, 57-69 (1979).Google ScholarGoogle Scholar
  9. FHL.M. Furst, J.E. Hopcroft, E. Luks, "Polynomial-Time Algorithms for Permutation Groups," Proc. 21st IEEE Symposium on Foundations of Computer Science, 36-41 (1980).Google ScholarGoogle Scholar
  10. GJ.M.R. Garey and D.S. johnson, "Computers and Intractability," Freeman, San Francisco, CA (1979).Google ScholarGoogle Scholar
  11. GMR.S. Goldwasser, S. Micali, and C. Rackoff, "The Knowledge Complexity of Interactive Proof Systems,'' 17th ACM Symposium on Theory of Computing, 291-304 (1985). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. GMW.O. Goldreich, S. Micali and A. Wigderson, "Proofs that Yield Nothing but their Validity and a Methodology of Cryptographic Design," Proc. 27th IEEE Symposium on Foundations of Computer Science, 174-187 (1986).Google ScholarGoogle Scholar
  13. GS.S. Goldwasser and M. Sipser, "Private Coins versus Public Coins in interactive Proof Systems," l gth ACM Symposium on Theory of Computing, 59-68 (1986). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. H.C.M. Hoffmann, "Group-Theoretic Algorithms and Graph Isomorphism,'' V. 136 of the series "Lecture Notes in Computer Science," ed. by G. Goos and J. Hartmanis, Springer-Verlag, 311 pp. (1982).Google ScholarGoogle Scholar
  15. K1.R. Kannan, personal communication through S. Rudich.Google ScholarGoogle Scholar
  16. K2.S. Kannan, Ph.D. thesis to be submitred to the Computer Science Division of the University of Califomia at Berkeley.Google ScholarGoogle Scholar
  17. KR.R.M. Karp and M.O. Rabin, "Efficient randomized pattern matching algorithms", IBM Journal of Research and Development, 3 ! (2), 249-260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. L1.J. Leech, "Computer Proof of Relations in Groups," in "Topics in Group Theory and Computation," edited by M.P.J. Curran, Academic Press, 38-61 (1977).Google ScholarGoogle Scholar
  19. L2.J.S. Leon, "Computing Automorphism Groups of Combinatorial Objects," in "Computational Group Theory," edited by M.D. Atkinson, Academic Press, 321-335 (1984).Google ScholarGoogle Scholar
  20. L3.R. Lipton, personal communication.Google ScholarGoogle Scholar
  21. PR.G. Polya and R.C. Read, "Combinatorial Enumeration of Groups, Graphs, and Chemical Compounds,'' Springer-Verlag (1987). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R.M.O. Rabin, "Probabilistic Algorithms,'' in "Algorithms and Complexity, Recent Results and New Directions," edited by J.F. Traub, Academic Press, 21-40 (1976).Google ScholarGoogle Scholar
  23. TW.M. Tompa and H. Woll, "Random Self-Reducibility and Zero Knowledge Interactive Proofs of Possession of Information," Proc. 28th IEEE Symposium on Foundations of Computer Science, 472-482 (1987).Google ScholarGoogle Scholar
  24. W.W.j. Weyuker, "The Evaluation of Program-Based Software Test Data Adequacy Criteria," Communications of the ACM, v. 31, no. 6, 668- 675 (1988). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. WC.M.N. Wegman and J.L. Caner, "New Hash Functions and Their Use in Authentication and Set Equality," J. of Computer and System Science, v. 22, no. 3, 265-279 (1981).Google ScholarGoogle Scholar

Index Terms

  1. Designing programs that check their work

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in
                    • Published in

                      cover image ACM Conferences
                      STOC '89: Proceedings of the twenty-first annual ACM symposium on Theory of computing
                      February 1989
                      600 pages
                      ISBN:0897913078
                      DOI:10.1145/73007

                      Copyright © 1989 ACM

                      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 1 February 1989

                      Permissions

                      Request permissions about this article.

                      Request Permissions

                      Check for updates

                      Qualifiers

                      • Article

                      Acceptance Rates

                      STOC '89 Paper Acceptance Rate56of196submissions,29%Overall Acceptance Rate1,469of4,586submissions,32%

                      Upcoming Conference

                      STOC '24
                      56th Annual ACM Symposium on Theory of Computing (STOC 2024)
                      June 24 - 28, 2024
                      Vancouver , BC , Canada

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader