Design
AdaCore and Altran Praxis Release SPARK Pro 11
AdaCore and Altran Praxis today announced the release of the SPARK Pro 11 software development and verification environment, providing a major step forward for the developers of high-assurance systems. SPARK Pro 11 offers many enhancements particularly in the area of program proof.
MajoA number of significant enhancements have been made to the way that functions and proof functions are handled in SPARK Pro 11. These changes will improve project efficiency by eliminating the vast majority of rules that were previously manually encoded. The main changes include a more powerful language for specifying proof functions and the ability to use the functions in any proof context. This greatly simplifies the task of writing and maintaining functional contracts for critical software, providing high-assurance at lower cost.
Counter-example generation
Proof is a very powerful technique for achieving high levels of assurance in safety or security-critical software. However, when performing proofs users typically spend much of their time inspecting undischarged “verification conditions” to determine whether they can indeed be proved. Included with SPARK Pro 11, Riposte is a new tool that not only determines whether a verification condition is false, but can also generate a counter-example to demonstrate the conditions under which it is false. Riposte is a major improvement to the verification workflow, saving projects a significant amount of time previously spent analysing improvable verification conditions and providing developers with intuitive explanations. Riposte was developed jointly by Altran Praxis and the University of Bath (UK).
Clearly defined assumptions
The new assume contract in SPARK Pro 11 allows users to introduce system-level assumptions about programs into their proofs in a clear and concise format. Previously, these assumptions might have been captured by user rules or manual review.
About SPARK Pro
SPARK Pro, a product jointly developed by Altran Praxis and AdaCore, provides the foremost language, toolset and design discipline for engineering high-assurance software. It combines Altran Praxis' acclaimed SPARK language and verification tools, with the GNAT Programming Studio (GPS) and GNATbench Integrated Development Environments from AdaCore. There are SPARK versions based on Ada 83, Ada 95, and Ada 2005, so all standard Ada compilers and tools work out-of-the-box with SPARK.
SPARK Pro is a language and toolset specifically designed for developing applications where correct operation is vital for safety or security. The SPARK Pro toolset offers static verification that is unrivalled in terms of its soundness, low false-alarm rate, depth and efficiency. The toolset generates evidence for correctness, including proofs of the absence of run-time errors, that can be used to meet the requirements of safety and security certification schemes such as DO-178B, DO-178C, and the Common Criteria. SPARK Pro is especially applicable in the context of the Formal Methods supplement to DO-178C
Availability
SPARK Pro 11 is available now.