Skip to main content
Building High Integrity Applications with SPARK
  • Get access
    Check if you have access via personal or institutional login
  • Cited by 12
  • Cited by
    This (lowercase (translateProductType product.productType)) has been cited by the following publications. This list is generated based on data provided by CrossRef.

    Utting, Mark Pearce, David J. and Groves, Lindsay 2017. Integrated Formal Methods. Vol. 10510, Issue. , p. 69.

    Brandon, Carl and Chapin, Peter 2017. The Use of SPARK in a Complex Spacecraft. ACM SIGAda Ada Letters, Vol. 36, Issue. 2, p. 18.

    White, Neil Matthews, Stuart and Chapman, Roderick 2017. Formal verification: will the seedling ever flower?. Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, Vol. 375, Issue. 2104, p. 20150402.

    Dross, Claire and Moy, Yannick 2017. NASA Formal Methods. Vol. 10227, Issue. , p. 68.

    Chapman, Roderick 2017. Reliable Software Technologies – Ada-Europe 2017. Vol. 10300, Issue. , p. 37.

    Zhang, Zhi Robby Hatcliff, John Moy, Yannick and Courtieu, Pierre 2017. Software Engineering and Formal Methods. Vol. 10469, Issue. , p. 17.

    Kosmatov, Nikolai Marché, Claude Moy, Yannick and Signoles, Julien 2016. Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques. Vol. 9952, Issue. , p. 461.

    Hauzar, David Marché, Claude and Moy, Yannick 2016. Software Engineering and Formal Methods. Vol. 9763, Issue. , p. 215.

    Dross, Claire and Moy, Yannick 2016. Reliability, Safety, and Security of Railway Systems. Modelling, Analysis, Verification, and Certification. Vol. 9707, Issue. , p. 215.

    Taft, S. Tucker Schanda, Florian and Moy, Yannick 2016. High-Integrity Multitasking in SPARK: Static Detection of Data Races and Locking Cycles. p. 238.

    Fumex, Clément Dross, Claire Gerlach, Jens and Marché, Claude 2016. NASA Formal Methods. Vol. 9690, Issue. , p. 291.

    Ito, Masao 2016. Systems, Software and Services Process Improvement. Vol. 633, Issue. , p. 58.

  • Export citation
  • Recommend to librarian
  • Recommend this book

    Email your librarian or administrator to recommend adding this book to your organisation's collection.

    Building High Integrity Applications with SPARK
    • Online ISBN: 9781139629294
    • Book DOI:
    Please enter your name
    Please enter a valid email address
    Who would you like to send this to *
  • Buy the print book

Book description

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.

Refine List
Actions for selected content:
Select all | Deselect all
  • View selected items
  • Export citations
  • Download PDF (zip)
  • Send to Kindle
  • Send to Dropbox
  • Send to Google Drive
  • Send content to

    To send content items to your account, please confirm that you agree to abide by our usage policies. If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account. Find out more about sending content to .

    To send content items to your Kindle, first ensure is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about sending to your Kindle.

    Note you can select to send to either the or variations. ‘’ emails are free but can only be sent to your device when it is connected to wi-fi. ‘’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

    Find out more about the Kindle Personal Document Service.

    Please be advised that item(s) you selected are not available.
    You are about to send

Save Search

You can save your searches here and later view and run them again in "My saved searches".

Please provide a title, maximum of 40 characters.
Ada Conformity Assessment Authority. 2012. Ada Reference Manual, ISO/IEC 8652:2012 (E). 3rd edn.
Adams C., Cain P., Pinkas D., and Zuccherato R. 2001 (August). RFC-3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP). Freemont, CA: Internet Engineering Task Force.
Aho Alfred V., Lam Monica S., Sethi Ravi, and Ullman Jeffrey D. 2007. Compilers Principles, Techniques, & Tools. 2nd edn. Boston, MA: Addison Wesley.
Amey Peter. 2002. Correctness by Construction: Better Can Also Be Cheaper. CrossTalk, the Journal of Defense Software Engineering, 15(3), 24–28.
Ammann Paul, and Offutt Jeff. 2008. Introduction to Software Testing. Cambridge: Cambridge University Press.
Barnes John. 2012. Spark: The Proven Approach to High Integrity Software., UK: Altran Praxis.
Barnes John. 2014. Programming in Ada 2012. Cambridge: Cambridge University Press.
Beizer Boris. 1990. Software Testing Techniques. New York: Van Nostrand Reinhold.
Ben-Ari Mordechai. 2009. Ada for Software Engineers. 2nd edn. London: Springer- Verlag.
Bjørner Nikolaj. 2012. Taking Satisfiability to the Next Level with Z3. Pages 1–8 of: Gramlich Bernhard, Miller Dale, and Sattler Uli (eds), Automated Reasoning. Lecture Notes in Computer Science, vol. 7364. Berlin: Springer.
Black Rex. 2007. Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional. Indianapolis: Wiley.
Blair Michael, Obenski Sally, and Bridickas Paula. 1992. Patriot Missile Defense: Software Problem Led to System Failure at Dhahran, Saudi Arabia. Tech. rept. GAO/IMTEC-92-26. Washington, DC: United States General Accounting Office.
Bobot François, Filliâtre Jean-Christophe, Marché Claude, and Paskevich Andrei. 2011. Why3: Shepherd Your Herd of Provers. In: In Workshop on Intermediate Verication Languages (pp. 53–64). Wroclaw, Poland.
Chapin Peter. 2014. Thumper.
Chapman Roderick, Botcazou Eric, and Wallenburg Angela. 2011. SPARKSkein: A Formal and Fast Reference Implementation of Skein. Pages 16–27 of: Proceedings of the 14th Brazilian Conference on Formal Methods: Foundations and Applications. SBMF'11. Berlin: Springer-Verlag.
Chapman Roderick, and Schanda Florian. 2014. Are We There Yet? 20 Years of Industrial Theorem Provingwith Spark. Pages 17–26 of:Klein Gerwin, and Gamboa Ruben (eds), Interactive Theorem Proving. Lecture Notes in Computer Science, vol. 8558. Switzerland: Springer International Publishing.
Comar Cyrille, Kanig Johannes, and Moy Yannick. 2012. Integrating Formal Program Verification with Testing. Tech. rept.AdaCore. uploads_gems/Hi-Lite_ERTS-2012.pdf.
Croxford Martin, and Chapman Roderick. 2005. Correctness by Construction: AManifesto for High-Integrity Software. CrossTalk, the Journal of Defense Software Engineering, 18(12), 5–8.
Dale Nell, andMcCormick John. 2007. Ada Plus Data Structures: An Object-Oriented Approach. 2nd edn. Sudbury, MA: Jones and Bartlett.
Dale Nell, Weems Chip, and McCormick John. 2000. Programming and Problem Solving with Ada 95. 2nd edn. Sudbury, MA: Jones and Bartlett.
Davis Noopur, and Mullaney Julia. 2003. The Team Software Process (TSP) in Practice: A Summary of Recent Results. Tech. rept. CMU/SEI-2003-TR-014 ESC-TR-2003- 014. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.
DeRemer Frank, and Kron Hans. 1975. Programming-in-the-Large Versus Programming-in-the-Small. Pages 114–121 of: Proceedings of the International Conference on Reliable Software. New York: Association for Computing Machinery.
Dross Claire, Efstathopoulos Pavlos, Lesens David, Mentr´e David, and Moy Yannick. 2014. Rail, Space, Security: Three Case Studies for Spark 2014. http://www.
Dutertre Bruno. 2014.Yices 2.2. Pages 737–744 of: Biere Armin, and Bloem Roderick (eds), Computer-Aided Verification (CAV'2014). Lecture Notes in Computer Science, vol. 8559. Heidelberg, Germany: Springer.
Eisenstadt Marc. 1997. My Hairiest Bug War Stories. Communications of the ACM, 40(4), 30–37.
English John. 2001. Ada 95: The Craft of Object-Oriented Programming. content/docs/craft/html/ contents.htm.
Epp Susanna S. 2010. Discrete Mathematics with Applications. 4th edn. Pacific Grove, CA: Brooks/Cole Publishing.
Gersting Judith. 2014. Mathematical Structures for Computer Science. 7th edn. New York: W.H. Freeman.
GNAT, 2015a. GNAT Reference Manual, gnat_rm-docs/html/gnat_rm/gnat_rm.html
GNAT, 2015b. GNAT User's Guide, gnat_ugn-docs/html/gnat_ugn/gnat_ugn.html
Hall Anthony, and Chapman Roderick. 2002. Correctness by Construction: Developing a Commercial Secure System. IEEE Software, 19(1), 18–25.
Humphrey Watts. 2000. Introduction to the Team Software Process. SEI Series in Software Engineering. Boston, MA: Addison Wesley.
Humphrey Watts. 2004. Security Changes Everything. Keynote address presented at the ACM SIGAda Annual International Conference, November 14–18, Atlanta, GA.
Humphrey Watts. 2006a (January). Defective Software Works. News at SEI. wattsnew20041.cfm.
Humphrey Watts. 2006b (February). Security Changes Everything. News at SEI. wattsnew20042.cfm.
International Telecommunication Union. 2002 (July). Information Technology – ASN.1 Encoding Rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), Distinguished Encoding Rules (DER). Geneva, Switzerland.
Jones Capers. 2000. Software Assessments, Benchmarks, and Best Practices. Addison- Wesley Information Technology Series. Boston: Addison Wesley.
Jones Capers. 2012 (September). Software Quality in 2012: A Survey of the State of the Art. Software Quality Group of New England. presentations/2012-13/Jones-Sep-2012.pdf.
Jones Capor. 2013. Software Defect Origins and Removal Methods. Tech. rept. Narragansett, RI: Namcook Analytics LLC.
Jorgensen Paul. 2008. Software Testing: A Craftsman's Approach. 3rd edn. Boca Raton, FL: Auerbach Publications.
Kaner Cem, Falk Jack, and Nguyen Hung Quoc. 1999. Testing Computer Software. 2nd edn. Indianapolis, IN: Wiley.
Knight John, DeJong Colleen, Gibbs Matthew, and Nakano Luis. 1997 (September). Why Are Formal Methods Not Used More Widely? In: Holloway Michael, and Hayhurst Kelly (eds), Proceedings of the Fourth NASA Langley Formal Methods Workshop pp. 1–12. Hampton, VA: NASA.
Knuth Donald. 1998. The Art of Computer Programming: Seminumerical Algorithms. Vol. 2. Boston, MA: Addison-Wesley.
Mao Wenbo. 2004. Modern Cryptography Theory and Practice. Upper Saddle River, N.J.: Pearson.
Marsh William, and O'Neill Ian. 1994. Formal Semantics of Spark. Tech. rept. Bath, England: Program Validation (available from Altran Praxis).
McCormick John. 1997. Forum Letter. Communications of the ACM, 40(8), 30.
McCormick John W., Singhoff Frank, and Hugues Jerome. 2011. Building Parallel, Embedded, and Real-Time Applicatins with Ada. Cambridge, England: Cambridge University Press.
Mills Harlan, Dyer Michael, and Linger Richard. 1987. Cleanroom Software Engineering. IEEE Software, 4(5), 19–25.
Moy Yannick, Ledinot Emmanuel, Delseny Herve,Wiels Virginie, and Monate Benjamin. 2013. Testing or Formal Verification: DO-178C Alternatives and Industrial Experience. IEEE Software, 30(3), 50–57.
NASA. 2011 (January). National Highway Traffic Safety Administration Toyota Unintended Acceleration Investigation. Technical Assessment Report TI-10-00618.Washington, DC: NASA Engineering and Safety Center.
New York University. 2014. CVC4: The SMT Solver. web/.
National Institute of Standards and Technology. 2002 (May). The Economic Impacts of Inadequate Infrastructure for Software Testing. Planning Report 02-3. Washington, DC: NIST.
OCamlPro. 2014. The Alt-Ergo Theorem Prover.
OpenSSL Project. 2014a. OpenSSL Cryptography and SSL/TLS Toolkit. https://
OpenSSL Project. 2014b. OpenSSL Vulnerabilities. news/vulnerabilities.html.
Parnas David Lorge, and Madey . 1995 (January). Functional Documents for Computer Systems. Science of Computer Programming, 25(1), 41–61.
Pattis Richard E. 1988. Textbook Errors in Binary Searching. SIGCSE Bulletin, 20(1), 190–194.
Paulk Mark C. 2009. A History of the Capability Maturity Model for Software. ASQ Software Quality Professional, 12(1), 5–19.
Radio Technical Commission for Aeronautics (RTCA). 2011a. DO-178C Software Considerations in Airborne Systems and Equipment Certification. RTCA and European Organisation for Civil Aviation Equipment (EUROCAE).
Radio Technical Commission for Aeronautics (RTCA). 2011b. DO-333, Formal Methods Supplement to DO-178C and DO-278A. RTCA and European Organisation for Civil Aviation Equipment (EUROCAE).
Riehle Richard. 2003. Ada Distilled: An Introduction to Ada Programming for Experienced Computer Programmers. Tech. rept. Salinas, CA: AdaWorks Software Engineering.
Rosen Kenneth. 2011. Discrete Mathematics and Its Applications. 7th edn. New York: McGraw-Hill.
Spark Team. 2011 (September). INFORMED Design Method for SPARK. Bath, England.
Spark Team. 2014a. Spark 2014 Reference Manual. New York: AdaCore. http://
Spark Team. 2014b. Spark 2014 Toolset User's Guide. New York and Paris: AdaCore.
Stallings William. 2014. Cryptography and Network Security, Principles and Practice. 6th edn. Upper Saddle River, N.J: Pearson.
Wikibooks. 2014. Ada Programming. Ada_Programming.


Altmetric attention score

Full text views

Total number of HTML views: 0
Total number of PDF views: 409 *
Loading metrics...

Book summary page views

Total views: 996 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 16th January 2018. This data will be updated every 24 hours.