Book contents
- Frontmatter
- Contents
- Preface
- Introduction
- A Algorithms
- Introduction to Part A
- 1 Specifying Algorithms
- 2 Verifying Algorithms: Basic Techniques
- 3 Verifying Algorithms: Some Examples
- 4 Additional Verification Techniques
- B Data Representations
- C Language Recognizers
- D Unimplementable Specifications
- Appendices
- Index
Introduction to Part A
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- Introduction
- A Algorithms
- Introduction to Part A
- 1 Specifying Algorithms
- 2 Verifying Algorithms: Basic Techniques
- 3 Verifying Algorithms: Some Examples
- 4 Additional Verification Techniques
- B Data Representations
- C Language Recognizers
- D Unimplementable Specifications
- Appendices
- Index
Summary
We first consider techniques for algorithms (i.e., relatively small program components whose functional behavior may be specified in terms of “before” and “after” properties). Chapter 1 discusses how to specify what a simple algorithmic code fragment should do. Chapter 2 describes basic techniques for verifying code (i.e., proving mathematically that it does what its specification says it should do). Chapter 3 discusses a variety of small examples of these methods, demonstrating also how they may be used to construct (i.e., systematically code) correct programs. Chapter 4 describes some additional verification techniques and further examples.
Additional Reading
[Wir73, AA78, Rey81, Bac86, Gor88, Dro89, Dah92, BE+94, Cas94, Sta99, MS01] are recommended for further explanation and additional examples. A more formal approach to algorithm development is described in [Gri81, DF88, Kal90, Coh90, Mor94].
- Type
- Chapter
- Information
- Specifying SoftwareA Hands-On Introduction, pp. 13 - 14Publisher: Cambridge University PressPrint publication year: 2002