Systematic Program Design
A systematic program design method can help developers ensure the correctness and performance of programs while minimizing the development cost. This book describes a method that starts with a clear specification of a computation and derives an efficient implementation by step-wise program analysis and transformations. The method applies to problems specified in imperative, database, functional, logic and object-oriented programming languages with different data, control and module abstractions. Designed for courses or self-study, this book includes numerous exercises and examples that require minimal computer science background, making it accessible to novices. Experienced practitioners and researchers will appreciate the detailed examples in a wide range of application areas including hardware design, image processing, access control, query optimization and program analysis. The last section of the book points out directions for future studies.
- Offers problem specifications and implementations in all of imperative, database, functional, logic and object-oriented programming languages using different data, control and module abstractions
- Outlines a systematic method for transforming clear specifications into efficient implementations using three key steps: iterate, incrementalize and implement
- Contains substantial examples in a wide range of application problems: hardware design, image processing, access control and many more
Reviews & endorsements
'As an experienced programmer and educator, I have to admit, I felt deep enjoyment while reading this book. It was a pleasant experience.' M. M. Tanik, Computing Reviews
'It will prove very useful for graduate students who wish to start their literature review with a comprehensive example of the state of the art in formal methods, and it is an excellent platform for self-directed learning. This well-structured, comprehensive book reflects the author's experience and strong background in the field. Highly recommended.' L. Benedicenti, Choice
Product details
August 2013Hardback
9781107036604
252 pages
240 × 158 × 20 mm
0.55kg
14 b/w illus. 90 exercises
Available
Table of Contents
- 1. Introduction
- 2. Loops: incrementalize
- 3. Sets: incrementalize and implement
- 4. Recursion: iterate and incrementalize
- 5. Rules: iterate, incrementalize, and implement
- 6. Objects: incrementalize across module abstraction
- 7. Conclusion.