AdaCore: Build Software that Matters
AdaCore Hero Image

Blog

An Insight Into the AdaCore Ecosystem

I Stock 1802923559
Feb 04, 2026
Mark Hermeling

Formal Methods Practice and Theory

Formal methods offer a rigorous way to connect requirements to implementation, enabling developers to prove key properties such as the absence of…
Read More
Adacore card default
Sep 29, 2013

Yannick Moy

SPARK 2014 Rationale: Loop Invariants

Formal verification tools like GNATprove rely on two main inputs from programmers: subprogram contracts (preconditions and postconditions) and loop…

Adacore card default
Sep 23, 2013

Gem #152 : Defining a New Language in a Project File

Adacore card default
Sep 14, 2013

Yannick Moy

SPARK 2014 Rationale: Pre-call and Pre-loop Values

Subprogram contracts are commonly presented as special assertions: the precondition is an assertion checked at subprogram entry, while the…

Adacore card default
Aug 04, 2013

Yannick Moy

MISRA-C 2012 vs SPARK 2014, the Subset Matching Game

The MISRA C subset of C defines around 150 rules that restrict C programs for critical software development. Of these, 27 rules are classified as…

Adacore card default
Jul 25, 2013

Florian Schanda

SPARK 2014 Flow Analysis

We have nearly finished implementing a central component of the SPARK 2014 analysis tools: the flow analysis engine; so this is a good time to…

Adacore card default
Jul 15, 2013

Yannick Moy

SPARK 2014 Rationale: Specification Functions

Specifying a program's behavior is seldom expressible in a satisfiable way without the capability of abstraction provided by function calls. Yet,…

Adacore card default
Jul 07, 2013

Yannick Moy

SPARK 2014 Rationale: Contract Cases

Besides the usual expression of a subprogram contract as a pair of a precondition and a postcondition, SPARK 2014 provides a way to express such a…

Adacore card default
Jul 07, 2013

Johannes Kanig

SPARK 2014 goes to Space!

David Lesens from Astrium was a member of the Hi-Lite project ("was" because the project is finished now, see the previous post), and has tried…

Adacore card default
Jul 01, 2013

Gem #151 : Specifying Mathematical Properties of Programs

Adacore card default
Jun 17, 2013

Gem #150: Out and Uninitialized

Adacore card default
Jun 03, 2013

Gem #149 : Asserting the truth, but (possibly) not the whole truth

Adacore card default
Jun 02, 2013

Yannick Moy

Project Hi-Lite Wrap-up

After three years of hard work, we have reached last week the end of project Hi-Lite, whose goal was to simplify the use of formal methods. We're…