
Algebraic Semantics of Imperative Programs
MIT Press
Published on 22. May 1996
Book
Hardback
240 pages
978-0-262-07172-7 (ISBN)
Description
Algebraic Semantics of Imperative Programs presents a self-contained and novel "executable" introduction to formal reasoning about imperative programs. The authors' primary goal is to improve programming ability by improving intuition about what programs mean and how they run. The semantics of imperative programs is specified in a formal, implemented notation, the language OBJ; this makes the semantics highly rigorous yet simple, and provides support for the mechanical verification of program properties. OBJ was designed for algebraic semantics; its declarations introduce symbols for sorts and functions, its statements are equations, and its computations are equational proofs. Thus, an OBJ "program" is an equational theory, and every OBJ computation proves some theorem about such a theory. This means that an OBJ program used for defining the semantics of a program already has a precise mathematical meaning. Moreover, standard techniques for mechanizing equational reasoning can be used for verifying axioms that describe the effect of imperative programs on abstract machines. These axioms can then be used in mechanical proofs of properties of programs. Intended for advanced undergraduates or beginning graduate students, Algebraic Semantics of Imperative Programs contains many examples and exercises in program verification, all of which can be done in OBJ.
More details
Series
Language
English
Place of publication
Cambridge, Mass.
United States
Publishing group
MIT Press Ltd
Target group
College/higher education
Professional and scholarly
Interest Age: From 18 to 99 years
Product notice
Cloth over boards
Dimensions
Height: 229 mm
Width: 180 mm
Thickness: 27 mm
Weight
590 gr
ISBN-13
978-0-262-07172-7 (9780262071727)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification