Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Building High Integrity Applications with SPARK

Building High Integrity Applications with SPARK

Building High Integrity Applications with SPARK

John W. McCormick, University of Northern Iowa
Peter C. Chapin, Vermont Technical College
September 2015
Available
Paperback
9781107656840

    Software is pervasive in our lives. We are accustomed to dealing with the failures of much of that software - restarting an application is a very familiar solution. Such solutions are unacceptable when the software controls our cars, airplanes and medical devices or manages our private information. These applications must run without error. SPARK provides a means, based on mathematical proof, to guarantee that a program has no errors. SPARK is a formally defined programming language and a set of verification tools specifically designed to support the development of software used in high integrity applications. Using SPARK, developers can formally verify properties of their code such as information flow, freedom from runtime errors, functional correctness, security properties and safety properties. Written by two SPARK experts, this is the first introduction to the just-released 2014 version. It will help students and developers alike master the basic concepts for building systems with SPARK.

    • The first book on SPARK 2014
    • Emphasizes formal verification of programs and integrates formal verification with testing
    • Only a minimal mathematics background required
    • A case study of developing SPARK code from scratch

    Product details

    September 2015
    Paperback
    9781107656840
    382 pages
    228 × 151 × 20 mm
    0.55kg
    13 b/w illus. 14 tables 119 exercises
    Available

    Table of Contents

    • 1. Introduction and overview
    • 2. The basic SPARK language
    • 3. Programming in the large
    • 4. Dependency contracts
    • 5. Mathematical background
    • 6. Proof
    • 7. Interfacing with SPARK
    • 8. Software engineering with SPARK
    • 9. Advanced techniques.
    Resources for
    Type
    Chapter 03
    Size: 16.64 KB
    Type: application/zip
    All Chapters
    Size: 123 KB
    Type: application/zip
    Chapter 04
    Size: 15.55 KB
    Type: application/zip
    Chapter 05
    Size: 3.04 KB
    Type: application/zip
    Chapter 06
    Size: 37.56 KB
    Type: application/zip
    Chapter 07
    Size: 21.21 KB
    Type: application/zip
    Chapter 08
    Size: 9.54 KB
    Type: application/zip
    Chapter 01
    Size: 3.1 KB
    Type: application/zip
    Chapter 09
    Size: 7.75 KB
    Type: application/zip
    Chapter 02
    Size: 10.09 KB
    Type: application/zip
    Library
    Size: 4.32 KB
    Type: application/zip
      Authors
    • John W. McCormick , University of Northern Iowa

      John McCormick is a Professor of Computer Science at the University of Northern Iowa. He began his career at the State University of New York in 1979. He has served as secretary, treasurer and chair of the Association for Computer Machinery Special Interest Group on Ada. In 1993 John was awarded the Chancellor's Award for Excellence in Teaching. He received the Special Interest Group on Ada Distinguished Service Award in 2002, as well as the Outstanding Ada Community Contributions Award in 2008. His additional awards include the Special Interest Group on Ada Best Paper and Presentation Award, and the Ada Europe Best Presentation Award.

    • Peter C. Chapin , Vermont Technical College

      Peter Chapin is a Professor of Computer Information Systems at Vermont Technical College (VTC). Peter started at VTC in 1986 as an instructor in the Electrical and Computer Engineering Technology department teaching courses on microcontrollers and C programming. Since 2009 Peter has been Software Director of VTC's CubeSat Laboratory where he has worked with students using Ada and SPARK to program small scale nano-satellites. VTC successfully launched a working CubeSat satellite into low Earth orbit on November 19, 2013. It is the first CubeSat programmed using SPARK.