1983
DOI: 10.1145/357980.358001
|View full text |Cite
|
Sign up to set email alerts
|

An axiomatic basis for computer programming

Abstract: In this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics. This involves the elucidation of sets of axioms and rules of inference which can be used in proofs of the properties of computer programs. Examples are given of such axioms and rules, and a formal proof of a simple theorem is displayed. Finally, it is argued that important advantages, bot… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
728
0
21

Year Published

1995
1995
2021
2021

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 806 publications
(750 citation statements)
references
References 4 publications
1
728
0
21
Order By: Relevance
“…Nested-word automata can express a variety of requirements such as stack-inspection properties, pre-post conditions, and interprocedural data-flow properties. More broadly, modeling structured programs and program specifications as languages of nested words generalizes the linear-time semantics that allows integration of Pnueli-style temporal reasoning [Pnu77] and Hoare-style structured reasoning [Hoa69]. We believe that the nested-word view will provide a unifying basis for the next generation of specification logics for program analysis, software verification, and runtime monitoring.…”
Section: Introductionmentioning
confidence: 98%
“…Nested-word automata can express a variety of requirements such as stack-inspection properties, pre-post conditions, and interprocedural data-flow properties. More broadly, modeling structured programs and program specifications as languages of nested words generalizes the linear-time semantics that allows integration of Pnueli-style temporal reasoning [Pnu77] and Hoare-style structured reasoning [Hoa69]. We believe that the nested-word view will provide a unifying basis for the next generation of specification logics for program analysis, software verification, and runtime monitoring.…”
Section: Introductionmentioning
confidence: 98%
“…It was first developed and promoted in the community of software engineering, and more specifically Model Driven Engineering. Actually, Design by Contract is a software engineering technique popularized by Bertrand Meyer [200,201] following earlier ideas from Floyd-Hoare logic [234,155]. Floyd-Hoare logic assigns meaning to sequential imperative programs in the form of triples of assertions consisting of a precondition on program states and inputs, a command, and a postcondition on program states and outputs.…”
Section: A Bird's Eye View Of Research In Contractsmentioning
confidence: 99%
“…This section presents the assertional proof system for reasoning about Java MT programs, formulated in terms of proof outlines [24,13], i.e., where Hoare-style pre-and postconditions [14,18] are associated with each control point. The proof system has to accommodate for shared-variable concurrency, aliasing, method invocation, synchronization, and dynamic object creation.…”
Section: Proof Systemmentioning
confidence: 99%
“…The assertional proof system for verifying safety properties of Java MT is formulated in terms of proof outlines [24], i.e., of annotated programs where Hoare-style assertions [14,18] are associated with every control point. Soundness and completeness of the proof system is shown in [3].…”
Section: Introductionmentioning
confidence: 99%