The Virtual Bookcase for browsing and sharing reviews of books. New to this site? Read the welcome page first.

The Virtual Bookcase Home
Recent reviews
Collected book news
Welcome to this site
Add your own book

Book details of 'High Integrity Software: The SPARK Approach to Safety and Security'

Cover of High Integrity Software: The SPARK Approach to Safety and Security
TitleHigh Integrity Software: The SPARK Approach to Safety and Security
Author(s)John Barnes
ISBN0321136160
LanguageEnglish
PublishedApril 2003
PublisherAddison-Wesley Pub Co
Web links for this book
Search at Bookcrossing.com
Wikipedia booksources
Shop for this book
At Amazon.com
At Amazon.co.uk

Back to shelf Computer security
Amazon.com info for High Integrity Software: The SPARK Approach to Safety and Security

Score:

Vote for this book

The Virtual Bookcase Reviews of 'High Integrity Software: The SPARK Approach to Safety and Security':

Reviewer Rob Slade wrote:
Once upon a time, a group set out to build a language which would allow you to write programs that could be formally verified. Formal analysis and proof can be used to determine that a program will work the way you want it to, and not do something very weird (usually at an inopportune time). First came the attempt to build the Southampton Program Analysis Development Environment (or SPADE) using a subset of the Pascal programming language. When it was determined that Pascal wasn't really suitable, research was directed to Ada, and the SPADE Ada Kernel, or (with a little poetic licence) SPARK, was the result. SPARK can be considered both a subset and extension to Ada, but is best seen as a separate language in its own right. SPARK forbids language structures such as the infamous GOTO statement of Fortran and BASIC (which cannot be formally verified). Support for some object- oriented features has been included in SPARK, but not for aspects like polymorphism which would make formal proof problematic. A great deal of the security of SPARK lies in the idea of contracts and the use of data specifications (usually referred to as interfaces) that prevent problems such as the unfortunately all-too-ubiquitous buffer overflow. Part one is an overview of the background and features of SPARK. Chapter one reviews some of the problems of unproven software, and the major components of SPARK. Support for the formal proof functions, such as abstraction (the elimination of details not essential to the fundamental operation of the concept or function) are dicussed in chapter two. The various analysis tools are listed in chapter three. Part two outlines the SPARK language itself. Chapter four describes the structure of SPARK and the lexical items it contains. Language elements are covered in chapters five, six, and seven, successively dealing with the type model and operators, control and data flow, and packages and visibility (local, global, etc.) which also reviews the object-oriented aspects of SPARK. Interfacing of the various parts of SPARK, and also of SPARK and other languages, is in chapter eight. Part three looks at the various analytical utilities in SPARK and the proof process. Chapter nine concentrates on the main Examiner tool. A mathematical discussion of data flow analysis, in chapter ten, is not necessary to the operation of SPARK, but provides background and explanation. Verification, and the instruments that support it, are reviewed in chapter eleven. Chapter twelve examines the rather vague practice of design, and proposes the INFORMED (INformation Flow Oriented MEthod of Design) process, although it seems to be limited to some admittedly useful principles. A list of similar precepts makes up the eponymous programming "Techniques" of chapter thirteen. Chapter fourteen retails a number of case studies of the possible use of SPARK for various applications: the simpler ones also contain source code. Both the writing in the book, and the explanations of SPARK, are clear. Formal methods of architecture and programming are not well understood, and this text does provide some justification for the exercise, although more evidence and support would be welcome. I recommend this work not only to those interested in more secure applications development, but also to those needing more information about formal methods in composition and system architecture. copyright Robert M. Slade, 2003
Add my review for High Integrity Software: The SPARK Approach to Safety and Security
Search The Virtual Bookcase

Enter a title word, author name or ISBN.

The shelves in The Virtual Bookcase

Arts and architecture (25)
Biography (24)
Business and Management (119)
Cars and driving (53)
Cartoons (45)
Children's books (179)
Computer (475)
Computer history/fun (111)
Computer networks (382)
Computer programming (215)
Computer security (269)
Cook books (89)
Fantasy (154)
Fiction (446)
Health and body (70)
History (135)
Hobby (37)
Horror (65)
Humorous books (52)
Literature (57)
Operating systems (94)
Outdoor camping (162)
Outdoors (236)
Politics (83)
Privacy (61)
Psychology (55)
Religion (17)
Science (113)
Science Fiction (156)
Self-help books (55)
Technology (12)
Travel guides (307)
War and weapons (29)
World Wide Web (211)
Zen (5)
Other books (88)
Mailing list
Subscribe to booktalk, the discussion list about books at The Virtual Bookcase.
Enter your e-mail address to subscribe (you will receive an e-mail to confirm your subscription):


The Virtual Bookcase is created and maintained by Koos van den Hout. Contact e-mail webmaster@virtualbookcase.com.
Site credits
Copyright © 2000-2008 Koos van den Hout / The Virtual Bookcase Copyright and privacy statement