Skip to main content
Book cover

GWAI-81 pp 256–276Cite as

Program Veriflcation at Stanford: Past, Present, Future

  • Conference paper
  • 61 Accesses

Part of the book series: Informatik-Fachberichte ((2252,volume 47))

Abstract

In late 1971 Shigeru Igarashi, Ralph London, David Luckham, and Robin Milner were working at the Stanford Artificial Intelligence Laboratory. At the same time Niklaus Wirth was visiting the Computer Science Department at Stanford. Robin Milner was implementing LCF [25, 26], a formal system to reason about programs based on Dana Scott’s logic of computable functions.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. Alberga, C. N., et. al.: A program development tool, Research report RC 7859, IBM 1979.

    Google Scholar 

  2. Allen J. R. : Stanford Resolution Theorem Prover: A user manual, Stanford Artificial Intelligence Lab. Operating Note, 1971..

    Google Scholar 

  3. Burstall, R. M., Goguen, J. A.: Putting theories together to make specifications, hit. Joint Conf. on Artifical Intelligence, Boston 1977.

    Google Scholar 

  4. Cartright, R., Oppen, D.: The Logic of Aliasing, STAN-CS-79–740.

    Google Scholar 

  5. Deutsch, L. P.: An interactive program verifier, Report CSL-73–1, XEROX PARC, 1973.

    Google Scholar 

  6. Floyd, R. W.: Assigning Meanings to Programs, Proceedings of Symp. in Applied Mathematics 19 (1967).

    Google Scholar 

  7. German, S.M.: Automating proofs of the absence of common runtime errors, Proc. 5th. ACM Symp. on Principles of Programming Languages, Tucson, 1978, pp 105–118.

    Google Scholar 

  8. German, S.M.: An extended semantic definition of Pascal for proving the absence of common runtime errors, STAN-CS-80–811.

    Google Scholar 

  9. Gordon, M., Milner, R., Wadsworth, C.: Edinburgh LCF, Report CSR-11–77, University of Edinburgh.

    Google Scholar 

  10. von Henke F. W., Luckham D. C.: Automatic Program Verification III: A Methodology for Verifying Programs, AIM-256, 1974.

    Google Scholar 

  11. Hoare, C. A. R.: An Axiomatic Basis of Computer Programming, CACM 12, Oct, pp 576–580 (1969).

    Google Scholar 

  12. Hoare, C. A. R., Wirth, N.: An Axiomatic Definition of the Programming language Pascal, Acta Informatica, 2 (1973), pp.335–355.

    Article  Google Scholar 

  13. Igarashi, S., London, R. L., Luckham, D. C.: Automatic Program Verification 1: Logical Basis and Its Implementation, Acta Informatica, Vol 4, pp 145–182 (1975).

    Article  MathSciNet  Google Scholar 

  14. Jensen, K., Wirth, N.: PASCAL, User Manual and Report, Springer, New York, Heidelberg, Berlin, 1976.

    MATH  Google Scholar 

  15. Karp, R. A.: Proving Concurrent Programs Correct, STAN-CS-79–783.

    Google Scholar 

  16. King, J. C.: A program verifier, Ph. D. Thesis, CMU, 1969.

    Google Scholar 

  17. Lamport, B.W., et. al.: Report on the programming language Euclid, Sigplan Notices, Vol. 12, No. 2, 1977.

    Google Scholar 

  18. London, R. L.: Correctness of two compilers for a LISP subset, AIM - 151, Stanford University, 1971.

    Google Scholar 

  19. London, R.L. et al: Proof rules for the programming language Euclid, Acta Informatica, Vol 10, No 1 (1978).

    Google Scholar 

  20. Luckham, D. C., Polak, W.: ADA Exceptions: Specification and Proof Techniques, STAN—CS-80–789.

    Google Scholar 

  21. Luckham, D. C., Suzuki, N.: Automatic Program Verification IV: Proof of Termination Within a Weak Logic of Programs, AIM-269, October 1975.

    Google Scholar 

  22. Luckham, D. C., Suzuki, N.: Automatic Program Verification V: Verification-Oriented Proof Rules for Arrays, Records and Pointers, MM-278, March 1976.

    Google Scholar 

  23. Luckham, D. C., Suzuki, N.: Verification of Array, Record, and Pointer Operations in Pascal, ACM TOPLAS 1/2, 1979.

    Google Scholar 

  24. McCarthy, J., Painter, J.: Correctness of a Compiler for Arithmetic Expressions, AIM-40, Stanford University 1966.

    Google Scholar 

  25. Milner R.: Implementation and applications of Scott’s Logic for Computable Functions., in: Proceedings of the ACM Conference on Proving Assertions about Programs, Las Cruces, 1972.

    Google Scholar 

  26. Milner, R.: Logic for Computable Functions: Description of a Machine Implementation, AIM-169, May 1972.

    Google Scholar 

  27. Nakajima, R., Honda, M., Nakahara, L: Hierarchical program specification and verification — a many-sorted logical approach., Acta Informatica, Vol 14, Fasc. 2, 1980.

    Google Scholar 

  28. Nelson, C. G., Oppen, D. C.: Simplification by Cooperating Decision Procedures, AIM-311, April 1978.

    Google Scholar 

  29. Nelson, C. G., Oppen, D. C.: Simplification by Cooperating Decision Procedures, TOPLAS 2/1,1979.

    Google Scholar 

  30. Nelson, C. G., Oppen, D. C.: Fast decision procedures based on congruence closure, JACM 27/2, 1980.

    Google Scholar 

  31. Nelson, C. G., Oppen, D. C.: Fast decision procedures based on UNION and FIND, Proc 18th Annual Symp. on Foundations of Comp. Science, Providence, RI, 1977.

    Google Scholar 

  32. Oppen, D. C.: Complexity, convexity, and combinations of theories, TCS 12/3, 1980.

    Google Scholar 

  33. Oppen, D. C.: Reasoning about recursively defined data structures, JACM 27/2, 1980.

    Google Scholar 

  34. Polak, W.: An exercise in automatic program verification, IEEE Transactions on Software Engineering, SE-5/5 (1979).

    Google Scholar 

  35. Polak, W.: Theory of compiler specification and verification, STAN—CS-80–802.

    Google Scholar 

  36. Polak W.: Proram verification based on denotational semantics, Proc. 8th. ACM Symp. on Principles of Programming languages, Williamsburg, 1981.

    Google Scholar 

  37. Reynolds J.C.: Reasoning about arrays, Communications of the ACM 22.5, 1979, 290–299.

    Google Scholar 

  38. Stanford Verification Group: Stanford Pascal Verifier User Manual, Stanford Verification Group Report No. 11, 1979.

    Google Scholar 

  39. Suzuki, N.: Automatic Program Verification II: verifying programs by algebraic and logical reduction, STAN-CS-74–473.

    Google Scholar 

  40. Suzuki, N.: Verifying Programs by Algebraic and Logical Reduction, Proceedings of Int’l Conf on Reliable Software, IEEE, pp 473–481 (1975).

    Google Scholar 

  41. Suzuki, N.: Automatic Verification of Programs with Complex Data Structures, AIM-279, February 1976.

    Google Scholar 

  42. Teitelbaum, R. T.: The Cornell Program Synthesizer: A microcomputer Implementation of PL/CS, Cornell TR 79–370, 1979.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1981 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Polak, W. (1981). Program Veriflcation at Stanford: Past, Present, Future. In: Siekmann, J.H. (eds) GWAI-81. Informatik-Fachberichte, vol 47. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-02328-0_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-02328-0_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-10859-7

  • Online ISBN: 978-3-662-02328-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics