A Practical Theory of Programming
by Eric C.R. Hehner
Publisher: Springer 2006
ISBN/ASIN: 0387941061
ISBN-13: 9780387941066
Number of pages: 243
Description:
Understanding programming and programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theories to date. In the theoretical model, a specification is just a boolean expression and refinement is just an ordinary implication. The author develops a practical and broad method for writing precise specifications and designing programs whose executions probably satisfy the specifications.
Download or read it online for free here:
Download link
(multiple PDF files)
Similar books
The Design and Implementation of Probabilistic Programming Languagesby Noah D. Goodman, Andreas Stuhlmüller - dippl.org
This book explains how to implement PPLs by lightweight embedding into a host language. We illustrate this by designing WebPPL, a small PPL embedded in Javascript. We show how to implement several algorithms for universal probabilistic inference.
(8599 views)
The Z Notation: A Reference Manualby J. M. Spivey - Prentice Hall
The standard Z notation for specifying and designing software has evolved over the best part of a decade. This an informal but rigorous reference manual is written with the everyday needs of readers and writers of Z specifications in mind.
(13859 views)
Programming and Programming Languagesby Shriram Krishnamurthi - Brown University
Many people would regard this as being two books in one. One book is an introduction to programming, teaching you basic concepts of organizing data and the programs that operate over them. The other book is an introduction to programming languages.
(9966 views)
Lecture Notes on Static Analysisby Michael I. Schwartzbach - IT University of Copenhagen
These notes present principles and applications of static analysis of programs. We cover type analysis, lattice theory, control flow graphs, dataflow analysis, fixed-point algorithms, narrowing and widening, control flow analysis, pointer analysis.
(9946 views)