AdaCore: Build Software that Matters
AdaCore Hero Image

Blog

An Insight Into the AdaCore Ecosystem

I Stock 1089232128
Nov 18, 2025
Andrea Bristol

Proving Safety at Scale: SPARK, RISC-V, and NVIDIA’s Security Strategy

Read More
Adacore card default
Jun 03, 2014

Yannick Moy

Short Video Demo of SPARK 2014

New to SPARK? Want to "see" what's new in SPARK 2014? It's all in this 5 mn video demo!

Adacore card default
May 19, 2014

Gem #159 : GPRinstall - Part 2

GPRinstall is a tool recently developed by AdaCore that provides an easy way to install a project, whether it be a standard project, a library…

Adacore card default
Apr 30, 2014

Yannick Moy

Use of SPARK in a Certification Context

Using SPARK or any other formal method in a certification requires that the applicant agrees with the certification authority on the verification…

Adacore card default
Apr 28, 2014

Gem #158: GPRinstall - Part 1

GPRinstall is a tool recently developed by AdaCore that provides an easy way to install a project, whether it be a standard project, a library…

Adacore card default
Apr 25, 2014

Claire Dross

Contracts of Functions in SPARK 2014

In SPARK 2014, we can write a function F and annotate it with a pre and a postcondition. In this post, we explain how the SPARK 2014 proof tool…

Adacore card default
Apr 25, 2014

Florian Schanda

SPARK 2014 Rationale: Information Flow

In a previous blog post we described how aspect Global can be used to designate the specific global variables that a subprogram has to read and…

Adacore card default
Apr 16, 2014

Yannick Moy

Contextual Analysis of Subprograms Without Contracts

We have implemented a new feature in GNATprove for analyzing local subprograms in the context of their calls. This makes it possible to benefit from…

Adacore card default
Apr 11, 2014

Johannes Kanig

Prove in Parallel with SPARK 2014

The article explains how we improved the performance of the SPARK 2014 toolset when multiple CPU cores are available for proof.

Adacore card default
Mar 31, 2014

Yannick Moy

Studies of Contracts in Practice

Two recent research papers focus on how program contracts are used in practice in open source projects, in three languages that support contracts…

Adacore card default
Mar 19, 2014

Johannes Kanig

A Little Exercise With Strings

I recently looked at string manipulation functions in a library and tried to prove absence of run-time errors of one of them. Although the function…

Adacore card default
Mar 18, 2014

Florian Schanda

Information Flo(w): Array Initialization in Loops

SPARK only supported array initialization using aggregates, as array initialization in loops raised a false alarm in flow analysis. Read on to learn…

Adacore card default
Mar 18, 2014

Florian Schanda

SPARK 2014 Rationale: Data Dependencies

Programs often use a few global variables. Global variables make passing common information between different parts of a program easier. By reading…