The AdaCore Blog
An Insight Into the AdaCore Ecosystem

Information Hiding and Context Management in SPARK

Pat Rogers
Extending Priority Inheritance Beyond Protected Operations
This blog entry shows how to define protected types that extend the language-defined priority inheritance for protected actions to the statements…

Elsa Ferrara
Formal Proof on Device Drivers with SPARK
Programming device drivers requires certain practices or operations. These include, for example, the multitude of volatile variables in the code. On…

Thijs Dreef
Designing a WebAssembly toolchain for Ada/SPARK
WebAssembly (Wasm) is a binary instruction format for a stack-based virtual machine, which was designed as a portable compilation target for…

AdaCore
Announcements around Rust
AdaCore has two announcements about Rust that we’d like to share with you!

Jose Ruiz
GNAT Pro Roadmap
Every year the GNAT Pro product family acquires new members and capabilities, to help our customers develop safer, more secure and more efficient…

Vadim Godunko
VSS: Cursors, Iterators and Markers
The VSS (as an abbreviation for Virtual String Subsystem) library is designed to provide advanced string and text processing…

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…

Gustavo A. Hoffmann
Advanced Journey with Ada: A Flight in Progress
We are thrilled to announce the launch of our highly anticipated course, "Advanced Journey with Ada: A Flight in Progress," which explores the…

Thomas Couderc
From Desert Dunes to Humanitarian Aid: Inside the Epic Journey of the 4L Trophy Rally
Back in February 2023, my friend David and I embarked on an exciting journey for a worthy cause. We finally got our old Renault 4l fully restored by…

Fabien Chouteau
RecordFlux State Machines
In a previous post we presented the RecordFlux specification language and toolset, illustrating how to design and generate formally proven binary…

Nicolas Setton
Reducing Ada code bases with adareducer
How we're using Libadalang to create an automated Ada code reducer.

Yannick Moy
Explainable Program Proofs
Ever wanted to understand why program proof is not as easy as telling ChatGPT "can you prove that program <code>stuff</code> is correct for me?" A…


