Get Free Shipping on orders over $0
Rigorous Software Development : An Introduction to Program Verification - José Bacelar Almeida

Rigorous Software Development

An Introduction to Program Verification

By: José Bacelar Almeida, Maria João Frade, Jorge Sousa Pinto

Paperback | 7 January 2011

Sorry, we are not able to source the book you are looking for right now.

We did a search for other books with a similar title, however there were no matches. You can try selecting from a similar category, click on the author's name, or use the search box above to find your book.

Undergraduate Topics in Computer Science (UTiCS) delivers high-quality instructional content for undergraduates studying in all areas of computing and information science. From core foundational and theoretical material to final-year topics and applications, UTiCS books take a fresh, concise, and modern approach and are ideal for self-study or for a one- or two-semester course. The texts are all authored by established experts in their fields, reviewed by an international advisory board, and contain numerous examples and problems. Many include fully worked solutions.

The use of mathematical methods in the development of software is essential when reliable systems are sought: in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering.

The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools A foundation for the static verification of programs based on contract-annotated routines is laid out in the book These can be independently verified, which provides a modular approach to the verification of software.

The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects --- from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors.
Industry Reviews

From the reviews:

"Provide a refreshing approach to a textbook on formal testing and verification methods. ... intended for undergraduate students and will be useful to practitioners as well. The authors lay out the topics in incremental fashion ... present enough information to foster a good understanding of the theoretical framework supporting formal methods ... . The exercises are very useful and provide a practical side to the methods; the references will be vital to practitioners ... . Summing Up: Recommended. All undergraduate students, practitioners, and general readers." (L. Benedicenti, Choice, Vol. 49 (1), September, 2011)

"The first half carefully introduces logic without reference to software, while the second half develops verification techniques. ... an undergraduate textbook in computer science and is suitable for well-motivated students willing and able to assimilate the chapters devoted to logic. ... Each chapter ends with a very helpful 'To Learn More' section ... and gives references for further study. ... this book will benefit its intended readers and will give them a good foundation in program verification that can be used in applications ... ." (Arthur Gittleman, ACM Computing Reviews, December, 2011)

"This book is a concise introduction to formal methods together with an in-depth coverage of model-based and Hoare logic-based methods and focuses on two approaches ... . This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. Undergraduate students will find this useful in their course." (CSI eNewsletter, Vol. 4 (1), January, 2013)

More in Software Engineering

The Essence of Software Engineering - Cersei Page
Refactoring 2ed : Improving the Design of Existing Code - Martin Fowler
C++ Programming Language (hardcover), The - Bjarne Stroustrup

RRP $117.91

$89.99

24%
OFF
Design Patterns : Elements of Reusable Object-Oriented Software - Erich Gamma
Git : Pocket Guide : A Working Introduction - Richard Silverman

RRP $47.75

$38.20

20%
OFF
Arduino for Dummies : Blackwell Philosophy Anthologies - John Nussey
Coding All-in-One For Dummies : 2nd Edition - Chris Minnick

RRP $69.95

$50.75

27%
OFF
Hacking For Dummies : For Dummies (Computer/Tech) - Kevin Beaver

RRP $49.95

$34.99

30%
OFF
Site Reliability Engineering : How Google Runs Production Systems - Betsy Beyer
C# 12 Pocket Reference : Instant Help for C# 12 Programmers - Joseph Albahari
Building Microservices : Designing Fine-Grained Systems 2nd Edition - Sam Newman
Learning Algorithms : A Programmer's Guide to Writing Better Code - George Heineman