• Corpus ID: 43747914

A Discipline of Programming

  title={A Discipline of Programming},
  author={Edsger W. Dijkstra},
Expected Runtime Analysis by Program Verification
A weakest pre-conditioning framework à la Dijkstra that enables to determine the expected runtime in a compositional manner is introduced that is a reasoning framework at the syntax level of programs.
A new proof rule for almost-sure termination
A new proof rule is presented for proving almost-sure termination of probabilistic programs, including those that contain demonic non-determinism, which uses variant functions that are real-valued and decrease randomly on each loop iteration; but the amount as well as the probability of the decrease are parametric.
A New Roadmap on Linking Theories of Programming
  • Jifeng He
  • Computer Science
    2016 10th International Symposium on Theoretical Aspects of Software Engineering (TASE)
  • 2016
This paper proposes a new approach on linking theories of programming by constructing a test operator taking a test case and the testing program as its arguments and derives a binary relation which relates the test cases with their outcomes.
Reasoning about Recursive Probabilistic Programs*
A wp–style calculus for obtaining expectations on the outcomes of (mutually) recursive probabilistic programs and bounds on the expected runtime of recursive programs that can be used to determine the time until termination of such programs are given.
Continuous probability distributions in model-based specification languages
A model-based specification language (sGCL) that supports continuous probability distributions is defined and the new analysis techniques provided by sGCL, and how they fit in with engineering practices, are explored.
On Locality and the Exchange Law for Concurrent Processes
A strong connection is established between the Concurrency and Frame Rules of Separation Logic and a variant of the exchange law of Category Theory that exploits the power of algebra to unify models and classify their variations.
A wide spectrum type system for transformation theory
Type Systems In Imperative Programming Languages, Curry-Style Vs. Church-Style, and Other Variations Of Formal Semantics are reviewed.
Reasoning Algebraically About P-Solvable Loops
A method for generating polynomial invariants for a subfamily of imperative loops operating on numbers, called the P-solvable loops, which uses algorithmic combinatorics and algebraic techniques and is shown to be complete for some special cases.
A new efficient retiming algorithm derived by formal manipulation
A new efficient algorithm is derived for the minimal period retiming by formal manipulation that checks the optimality of a feasible period directly and is much simpler and more efficient than previous algorithms.