Logo - springer
Slogan - springer

Computer Science - Software Engineering | The Correctness-by-Construction Approach to Programming

The Correctness-by-Construction Approach to Programming

Kourie, Derrick G., Watson, Bruce W.

2012, XIV, 266 p.

Available Formats:
eBook
Information

Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.

You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.

After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.

 
$69.99

(net) price for USA

ISBN 978-3-642-27919-5

digitally watermarked, no DRM

Included Format: PDF and EPUB

download immediately after purchase


learn more about Springer eBooks

add to marked items

Hardcover
Information

Hardcover version

You can pay for Springer Books with Visa, Mastercard, American Express or Paypal.

Standard shipping is free of charge for individual customers.

 
$99.00

(net) price for USA

ISBN 978-3-642-27918-8

free shipping for individuals worldwide

usually dispatched within 3 to 5 business days


add to marked items

Softcover
Information

Softcover (also known as softback) version.

You can pay for Springer Books with Visa, Mastercard, American Express or Paypal.

Standard shipping is free of charge for individual customers.

 
$99.00

(net) price for USA

ISBN 978-3-642-44854-6

free shipping for individuals worldwide

usually dispatched within 3 to 5 business days


add to marked items

  • Step-by-step explanation of how to derive mathematically correct algorithms using small and tractable refinements
  • Detailed illustration of the presented methodology through a set of carefully selected graded examples
  • Practical applicability demonstrated by deriving non-trivial algorithms (e.g. in computational geometry) and algorithm taxonomies (as a basis for toolkit construction)

The focus of this book is on bridging the gap between two extreme methods for developing software. On the one hand, there are texts and approaches that are so formal that they scare off all but the most dedicated theoretical computer scientists. On the other, there are some who believe that any measure of formality is a waste of time, resulting in software that is developed by following gut feelings and intuitions.

Kourie and Watson advocate an approach known as “correctness-by-construction,” a technique to derive algorithms that relies on formal theory, but that requires such theory to be deployed in a very systematic and pragmatic way.  First they provide the key theoretical background (like first-order predicate logic or refinement laws) that is needed to understand and apply the method. They then detail a series of graded examples ranging from binary search to lattice cover graph construction and finite automata minimization in order to show how it can be applied to increasingly complex algorithmic problems. 

The principal purpose of this book is to change the way software developers approach their task at programming-in-the-small level, with a view to improving code quality. Thus it coheres with both the IEEE’s Guide to the Software Engineering Body of Knowledge (SWEBOK) recommendations, which identifies themes covered in this book as part of the software engineer’s arsenal of tools and methods, and with the goals of the Software Engineering Method and Theory (SEMAT) initiative, which aims to “refound software engineering based on a solid theory.”

Content Level » Research

Keywords » algorithm correctness - first-order predicate logic - formal methods - pre- and post-conditions - predicate calculus - program correctness

Related subjects » Software Engineering - Theoretical Computer Science

Table of contents / Preface / Sample pages 

Popular Content within this publication 

 

Articles

Read this Book on Springerlink

Services for this book

New Book Alert

Get alerted on new Springer publications in the subject area of Software Engineering.