AdaCore: Build Software that Matters
AdaCore Hero Image

Blog Posts by Claire Dross

Dross

Claire Dross

Claire Dross has a PhD in deductive verification of programs using a satisfiability modulo theory solver with the Universite Paris-Sud. She also has an engineering degree from the Ecole Polytechnique and an engineering degree from the Ecole Nationale Superieure des Telecommunications. At AdaCore, she works full-time on the formal verification SPARK 2014 toolset.

I Stock 1017380290
Apr 30, 2026

Claire Dross

Reasoning about Linked Structures in an Array

Reasoning about linked data structures within an array is complicated, requiring high-level concepts such as reachability and inductive reasoning.…

I Stock 1511456378
Apr 16, 2026

Claire Dross

Formally Verified Hashed Sets in Ada SPARK

This blog explores the formal verification of an implementation of bounded hashed sets in Ada SPARK.

Railway termination
Jun 30, 2023

Claire Dross

SPARK, Beyond Normal Termination

When teaching SPARK to my students, I generally explain the central position of contracts in formal verification in the following way: Contracts of…

I Stock 1135246699
Mar 14, 2022

Claire Dross

Handling Aliasing through Pointers in SPARK

I Stock 1128197169
Feb 10, 2022

Yannick Moy, Claire Dross

Proving the Correctness of GNAT Light Runtime Library

The GNAT light runtime library is a version of the runtime library targeted at embedded platforms and certification, which has been certified for use…

I Stock 1039533792
Jul 28, 2020

Claire Dross

Relaxing the Data Initialization Policy of SPARK

SPARK always being under development, new language features make it in every release of the tool, be they previously unsupported Ada features (like…

I Stock 155277554
Oct 08, 2019

Claire Dross

Pointer Based Data-Structures in SPARK

As seen in a previous post, it is possible to use pointers (or access types) in SPARK provided the program abides by a strict memory ownership policy…

I Stock 927427140 2
Jun 06, 2019

Claire Dross

Using Pointers in SPARK

In this blog post, I will present one of the most interesting additions to the community 2019 version of SPARK: pointer support. One of the core…

Adacore card default
Mar 09, 2017

Claire Dross

Research Corner - Auto-active Verification in SPARK

GNATprove performs auto-active verification, that is, verification is done automatically, but usually requires annotations by the user to succeed. In…

Adacore card default
Nov 21, 2016

Claire Dross

Automatic Generation of Frame Conditions for Array Components

One of the most important challenges for SPARK users is to come up with adequate contracts and annotations, allowing GNATprove to verify the expected…

Adacore card default
Oct 12, 2016

Claire Dross

SPARK 2014 Rationale: Support for Type Invariants

Type invariants are used to model properties that should always hold for users of a data type but can be broken inside the data type implementation.…

Adacore card default
Jul 26, 2016

Claire Dross

Automatic Generation of Frame Conditions for Record Components

Formal verification tools like GNATprove rely on the user to provide loop invariants to describe the actions performed inside loops. Though the…