AdaCore: Build Software that Matters
AdaCore Hero Image

Content 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 toolset.

Audio blue waveform digital particle background. Abstract music dot waves equalizer. Futuristic sound wave visualization. AI synthetic voice technology. Tune print. Distorted frequencies
[Blog Post]

From Raw Arrays to Typed Ownership: A Layered Allocator in SPARK

Formal proof isn't all-or-nothing. See how a layered SPARK allocator pairs proven code with a thin, audited boundary.

Digital background depicting innovative technologies in (AI) artificial systems, neural interfaces and internet machine learning technologies
[Blog Post]

Multiple Levels of Models and Refinement

See how layered abstraction bridges specs and arrays in SPARKlib's hashed set implementation.

I Stock 1488523787
[Blog Post]

Information Hiding and Context Management in SPARK

A previous blog explored the verification of the formal hashed sets package in SPARKlib. This post will explain the techniques used to simplify the…

I Stock 1017380290
[Blog Post]

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
[Blog Post]

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
[Blog Post]

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
[Blog Post]

Handling Aliasing through Pointers in SPARK

I Stock 1128197169
[Blog Post]

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
[Blog Post]

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
[Blog Post]

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
[Blog Post]

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
[Blog Post]

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…