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

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

    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.

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

    Fumex, Clément Marché, Claude and Moy, Yannick 2017. Verified Software. Theories, Tools, and Experiments. Vol. 10712, Issue. , p. 102.

    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.

    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.

    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.

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

    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: 443 *
Loading metrics...

Book summary page views

Total views: 1313 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 22nd March 2018. This data will be updated every 24 hours.