Domain Analysis: High-Integrity Systems and Software Engineering
Expert Persona: Senior Principal Software Architect and Safety-Critical Systems Analyst.
Reviewing Group: This material is most relevant to Lead Software Engineers, Systems Architects, Chief Technology Officers (CTOs) in regulated industries (Aerospace, Defense, Automotive, Medical), and Safety/Security Compliance Auditors.
Abstract
This technical webinar details the release of AdaCore 26.1, focusing on toolchain enhancements designed to mitigate increasing software complexity and stringent regulatory requirements (e.g., Cyber Resilience Act). The presentation covers significant updates to the GNAT Pro ecosystem, including new ADA language features like finally blocks and generic inference, and the expansion of GNAT Pro for Rust into embedded targets like ARM bare metal and RTOS environments. Key highlights include the deep integration of Gnat SAS with CodeSonar for centralized static analysis, advancements in SPARK formal methods regarding multi-level "ghost code," and the introduction of GnatIQ, an AI-driven documentation synthesis engine. The roadmap emphasizes a transition to GPR Build 2 and GTK4, alongside automated polyglot binding generation to bridge ADA and C++ environments.
01:32 – Market Pressures and Lifecycle Overview: Mark Hermling outlines the industry shift toward larger codebases and higher connectivity, requiring faster update cycles under stricter safety (Functional Safety) and security (CISA/CRA) regulations. AdaCore’s "infinity" development model aims to accelerate this lifecycle.
06:04 – ADA Language Enhancements: Jose introduces several new compiler capabilities:
Unconditional Execution: Implementation of finally blocks for cleanup regardless of exception status.
Loop Control: Addition of the continue statement to jump to the next iteration.
Generic Optimization: Improved instantiation via default implementations for functions and automated inference of formals to reduce boilerplate.
Embedded Efficiency: Introduction of "unsigned base ranges" to force 64-bit intermediate operations, preventing unnecessary 128-bit promotion on constrained hardware.
13:25 – GNAT Pro for Rust Expansion: Tony discusses the stabilization of Rust (version 1.85.0) for high-assurance environments:
Safety Support: Long-term support, reproducible builds, and Software Bill of Materials (SBOM) for supply chain security.
Embedded Targets: Full support for ARM 64 bare metal, VXWorks 7, and QNX 8.
Newlib Integration: Unlocks standard library features (print!, dynamic memory) for bare metal Rust, improving developer experience.
18:52 – GnatFuzz (Fuzzing for Security): Kuryakos details the "Fuzz Everything" workflow:
Automation: Automatically detects and tests sub-programs across large codebases.
Cross-Platform: Introduction of LLVM-based libFuzzer support, enabling fuzzing on Microsoft Windows (Beta).
22:38 – Static Analysis and CodeSonar Integration: Sean and Guom demonstrate the merger of Gnat SAS and CodeSonar:
Security Focus: New "Taint Analysis" to track unsecured data flows and "Typestate Analysis" to prevent API misuses (e.g., double-closing files).
Performance: Analysis speeds improved by 30% to 200%.
Centralized Hub: ADA is now a "first-class citizen" in the CodeSonar web interface, providing visual path tracing and cross-referencing for findings.
31:45 – SPARK Formal Methods: Tony presents advancements in deductive verification:
Low-Level Reasoning: Bit-precise handling of unchecked conversions and overlays.
Ghost Code Management: New assertion levels (Runtime, Gold, Static) allow developers to toggle expensive verification code between test and production builds without an "all-or-nothing" trade-off.
37:11 – GnatIQ (AI Documentation Chat): Introduction of an AI-powered interface integrated into Gnat Tracker. It synthesizes answers from the ADA Reference Manual and User Guides, providing direct citations to ensure technical accuracy.
39:00 – IDE and Build Tooling Roadmap: Walter discusses the future of the environment:
GPR Build 2: Improved performance and diagnostics; slated to become the default in Release 27.
VS Code Support: Continued investment in the VS Code extension, including function reference visualizers and project dependency graphs.
Gnat Polyglot: Beta technology for automated C++-to-ADA binding generation to reduce manual integration errors.
42:02 – Alire Pro and Private Crates: The Alire package manager now supports private indexes for enterprise development, with upcoming support for automated SBOM generation.
45:36 – Open Source and Academic Contributions: AdaCore remains a primary maintainer for GCC/LLVM ADA and Rust components. Academic projects include satellite programs (CubeSat) and NPU drivers for embedded AI.