AdaCore: Build Software that Matters
AdaCore Hero Image

Blog

An Insight Into the AdaCore Ecosystem

I Stock 1160007422
Dec 01, 2025
Fabien Chouteau

Announcing Advent of Ada/SPARK 2025: Coding for a Cause!

Advent of Ada/SPARK is back! Solve Advent of Code 2025 challenges in Ada/SPARK and help us raise up to $5,000 for Ada Developers Academy.
Read More
Adacore card default
Mar 20, 2015

Yannick Moy

GNATprove Tips and Tricks: Minimizing Rework

As automatic proof is time consuming, it is important that rework following a change in source code is minimized. GNATprove uses a combination of…

Adacore card default
Mar 16, 2015

Clément Fumex

GNATprove Tips and Tricks: Bitwise Operations

The ProofInUse joint laboratory is currently improving the way SPARK deals with modular types and bitwise operators. Until now the SPARK tool was…

Adacore card default
Mar 12, 2015

Emma Adby

QGen on Embedded News TV

Adacore card default
Mar 11, 2015

Emma Adby

20 years on...

Adacore card default
Mar 05, 2015

Olivier Ramonat

AdaCore Releases GNAT Pro 7.3, QGen 1.0 and GNATdashboard 1.0

Adacore card default
Feb 20, 2015

Johannes Kanig

Testing, Static Analysis, and Formal Verification

Adacore card default
Feb 19, 2015

Yannick Moy

AdaCore Tech Days Prez on SPARK

Adacore card default
Feb 18, 2015

Yannick Moy

GNATprove Tips and Tricks: Catching Mistakes in Contracts

Contracts may be quite complex, as complex as code in fact, so it is not surprising that they contain errors sometimes. GNATprove can help by…

Adacore card default
Feb 10, 2015

Tristan Gingold

AdaCore at FOSDEM'15

Adacore card default
Feb 06, 2015

Yannick Moy

GNATprove Tips and Tricks: Keeping Justifications Up-To-Date

GNATprove supports the suppression of warnings and justification of check messages with pragmas inserted in the source code. But these justifications…

Adacore card default
Jan 23, 2015

Lena Comar

ProofInUse is coming!

Adacore card default
Jan 21, 2015

Yannick Moy

SPARK 2014 Rationale: Functional Update

While attribute Old allows expressing inside postconditions the value of objects at subprogram entry, this is in general not enough to conveniently…