skip to main content
10.1145/567532.567549acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free Access

Program verification based on denotation semantics

Published:26 January 1981Publication History

ABSTRACT

A theory of partial correctness proofs is formulated in Scott's logic computable junctions. This theory allows mechanical construction of verification condition solely on the basis of a denotational language definition. Extensionally these conditions, the resulting proofs, and the required program augmentation are similar to those of Hoare style proofs; conventional input, output, and invariant assertions in a first order assertion language are required. The theory applies to almost any sequential language defined by a continuation semantics; for example, there are no restrictions on aliasing or side-effects. Aspects of "static semantics",such as type and declaration constraints, which are expressed in the denotational definition are validated as part of the verification condition generation process.

References

  1. {Cl77} Clarke, E. M.: Program Invariants as Fixed Points; Dept. of Computer Science, Duke University, CS---1977---5Google ScholarGoogle Scholar
  2. {Di76} Dijkstra, E. W.: A Discipline of Programming; Prentice Hall, 1976 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. {Do76} Donshue, J. E.: Complementary Definitions, of Programming Language Semantics; Lecture Notes in Computer Science 42, Springer, 1976 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. {Fl67} Floyd, R. W.: Assigning Meaning to Programs; Proceedings of Symp. in Applied Mathematics 19 (1967)Google ScholarGoogle Scholar
  5. {GM77} Gordon, M., Milner, R., Wadsworth, C.: Edinburgh LCF; Internal report, CSR-11-77, University of EdinburghGoogle ScholarGoogle Scholar
  6. {Ho69} Hoare, C. A. R.: An Axiomatic Basis of Computer Programming; CACM 12, Oct, pp 576-580 (1969) Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. {HL74} Hoare, C. A. R., Lauer, P. E: Consistent and Complementary Formal Theories of the Semantics of Programming Languages; Acta Informatica 3, pp135-154, (1974)Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. {IL75} 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)Google ScholarGoogle Scholar
  9. {Li75} Ligler, G.: Surface Properties of Programming Language Constructs; in Proving and improving programs, G. Huet, G. Kahn (ed.), Arc-et,-Senans, 1975Google ScholarGoogle Scholar
  10. {Ma71} Masurkiewics, A.: Proving Algorithms by Tail Functions; Information and Control, 18 (1971), pp220-226Google ScholarGoogle ScholarCross RefCross Ref
  11. {MS76} Milne, R., Strachey, C.: A theory of programming language semantics; Chapman and Hall, London 1976 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. {Mi77} Milne, R.: Transforming Predicate Transformers; IFIP working conference on formal description of programming concepts, Saint Andrews, 1977Google ScholarGoogle Scholar
  13. {OC78} Oppen, D. C., Cartwright, R: Reasoning about recursively defined data structures; Proc. fifth ACM Symp. on Principles of Programming languages, 1978 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. {Pl76} Plotkin G.: A powerdomain construction.; SIAM Journal of Computing 5, 1976, 452-487.Google ScholarGoogle ScholarCross RefCross Ref
  15. {Pl78} Plotkin, G.: Tω as a Universal Domain; Journal of computer and system sciences 17, pp 209-236 (1978)Google ScholarGoogle Scholar
  16. {Re74} Reynolds, J. C.: On the Relation between Direct and Continuation Semantics; Proc. 2nd Coll. on Automata, Languages and Programming, Saarbrücken, pp. 157 - 168, 1974 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. {Sc78} Schwarts, R. L.: An Axiomatics Semantic Definition of ALGOL 68; CS Dept, UCLA, UCLA-34-P214-75, Aug. 78Google ScholarGoogle Scholar
  18. {Sc72} Scott, D.: Lattice Theory, Data Types, and Semantics; NYU Symp. on Formal Semantics, Prentice-Hall, New York (1972)Google ScholarGoogle Scholar
  19. {SS71} Scott, D., Strachey, C.: Toward a Mathematical Semantics for Computer Languages; Tech. Monograph PRG-6, Programming Research Group, University of Oxford (1971)Google ScholarGoogle Scholar
  20. {Sm78} Smyth M. B.: Power domains.; Journal of Computer and System Sciences 16, 1978, 23-36.Google ScholarGoogle ScholarCross RefCross Ref
  21. {St77} Stoy, J.: Denotational Semantics, --- The Scott-Strachey Approach to Language Theory; MIT Press, Cambridge (1977) Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. {SW74} Strachey, C., Wadsworth, C. P.: Continuations, a Mathematical Semantics for Handling Full Jumps; Technical Monograph PRG-11, Oxford University, 1974Google ScholarGoogle Scholar
  23. {Te76} Tennent, R. D.: The Denotational Semantics of Programming Languages; CACM, 19 (1976) pp437-453 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. {Te77} Tennent, R. D.: A Denotational Definition of the Programming Language Pascal; Tech. Report 77-47, Queen's University, Kingston, Ontario (1977), revised 1978Google ScholarGoogle Scholar
  1. Program verification based on denotation semantics

    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
      POPL '81: Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
      January 1981
      230 pages
      ISBN:089791029X
      DOI:10.1145/567532

      Copyright © 1981 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: 26 January 1981

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      POPL '81 Paper Acceptance Rate24of121submissions,20%Overall Acceptance Rate824of4,130submissions,20%

      Upcoming Conference

      POPL '25

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader