
AdaCore + Space
Space missions demand the highest levels of software reliability and assurance. Whether launching satellites, exploring distant planets, or maintaining critical infrastructure in orbit, software failures are not an option when there's no second chance for success and minimal opportunity for updates once deployed.
Where Our Technology Makes a Difference
Launch Vehicles & Propulsion
Launch vehicle software controls some of the most critical and time-sensitive operations in spaceflight. Flight control systems, guidance and navigation, engine control, and stage separation must operate flawlessly under extreme conditions with split-second timing. These systems experience intense vibration, acceleration, and thermal stress while managing tremendous energies. Software failures can result in mission loss or catastrophic consequences, making the highest levels of software assurance essential. The software must be thoroughly verified and validated, often requiring formal methods and exhaustive testing to demonstrate reliability under all operational scenarios.
Satellite Systems & Payloads
Satellites require software that operates autonomously for years or decades in the harsh environment of space. From attitude determination and control to payload operations and data collection, satellite software must handle cosmic radiation, thermal cycling, and component degradation while maintaining mission functionality. Modern satellites increasingly feature complex payloads including Earth observation sensors, communication arrays, and scientific instruments that require sophisticated control algorithms. The software must be designed for long-term reliability with minimal ground intervention, incorporating robust fault tolerance and recovery mechanisms to ensure mission success throughout the entire operational lifetime.
Deep Space & Planetary Missions
Exploration missions to other planets, asteroids, and deep space destinations face unique software challenges due to extreme communication delays and complete autonomy requirements. Rovers, orbiters, and landers must make critical decisions independently, often operating for years beyond their planned mission duration. The software must handle unknown environments, equipment failures, and communication blackouts while continuing to collect and transmit valuable scientific data. These missions require the highest levels of software robustness and adaptability, as there is typically no possibility for software updates once the spacecraft has traveled beyond Earth's immediate vicinity.
Ground Systems & Mission Control
Ground-based systems provide the critical link between space assets and mission operations, handling telemetry processing, command and control, mission planning, and data analysis. These systems must operate with extremely high availability and security, as they control valuable space assets and handle sensitive mission data. The software must integrate with diverse hardware platforms, legacy systems, and modern cloud infrastructure while maintaining strict cybersecurity protocols. Real-time processing capabilities are essential for tracking fast-moving objects, processing large volumes of telemetry data, and providing operators with immediate situational awareness for critical mission decisions.
Lasting Reliability Far Beyond Earth
Resource-Constrained Environments
Resource-constrained environments where every byte of memory and CPU cycle matters, demanding highly optimized yet reliable code and requiring specialized hardened hardware.
Industry Compliance
Rigorous certification standards including DO-178C, ECSS-E-ST-40C, and ECSS-Q-ST-80C that demand qualified tools, extensive documentation, and verifiable development processes.
Cybersecurity
Cybersecurity vulnerabilities as space systems become increasingly connected to ground networks, creating new attack vectors that must be secured.
Longevity
Long service lifespans (20+ years) require software to be maintained on legacy platforms, often using discontinued architectures or homegrown OSes.

All-in-One Software Developer Toolkit
AdaCore provides compilation, verification, and certification-ready tools for Ada, C/C++, and Rust, supporting platforms from bare-metal embedded systems to full server environments. Integrated testing and analysis, combined with compliance with industry standards, ensure robust, mission-critical software development.
Development
Ada, C/C++ and Rust
Support is provided for a wide set of languages relevant to embedded and safety-critical software development:
- Ada 83, 95, 2005, 2012 and 2022
- C89 to C20 and C++98 to C++20
- Rust starting with 1.77.2
DevOps
All tools provided for developers are DevOps-ready and can be integrated into off-the-shelf or custom pipelines.
Customizable Runtimes
Language runtimes can be customized to limit the number of lines of code they contain, from full capability to minimized resource footprint and certification costs, allowing them to be used on large server systems as well as resource-constrained environments.
LLVM and GCC
AdaCore toolchain are industrial-grade version of the GCC and LLVM compilers, allowing ease of integration in widespread and known environments and pipelines.
Verification
Static Analysis for Ada
Static Analysis technologies is provided for all version of Ada. It covers area such as:
- Code issue scanning
- Cybersecurity weaknesses detection
- Bug identification
- Metric computation
Static Analysis for C/C++
Static Analysis technologies is provided for C/C++. It covers area such as:
- Code issue scanning
- Cybersecurity weaknesses detection
- Bug identification
- Coding standard compliance, including MISRA-C and MISRA-C++
- Metric computation
Dynamic Analysis Suite
Dynamic Analysis covers Ada, C/C++ and Rust, addressing various areas:
- Unit Testing
- Structural Code Coverage up to MC/DC
- Code Fuzzing
Compliance
DO-178 and ECSS
The AdaCore toolchain meets the requirements of DO-178 and ECSS-E-ST-40C, and ECSS-Q-ST-80C certification requirements. In particular:
- Embedded language run-time libraries are certified up to DAL-A
- Structural Coverage and coding standard checkers are qualified TQL-5
- A compiler traceability study can be provided to address DAL-A coverage requirements
- Software can be actively supported over decades, provided with known-problem monitoring, issues impact analysis, and targeted toolchain fixes
Software Bill of Material
AdaCore produces Software Bills of Materials (SBOMs) for all AdaCore products supplied in the industry-standard SPDX format, allowing automated incorporation into customers’ vulnerability management and reporting systems.

Elevate Safety with MISRA C/C++, Rust, and SPARK
SPARK, Rust, and MISRA C/C++ offer a gradient of possibilities for approaching safety. These are not just about different languages; they are about shifting developers' mindsets and processes when pursuing the highest level of reliability.
A formally verifiable subset of Ada that enables mathematical proof of correctness. Eliminates entire classes of errors, providing the highest level of assurance for critical software.
A modern systems language with ownership and borrowing to enforce memory safety. Reduces runtime risks, though concurrency and “unsafe” code require careful handling.
Widely used industry guidelines that mitigate many of C/C++’s inherent risks. Helps structure development, but safety depends on process discipline.
Powering Embedded and Hardened Platforms
We support over one hundred off-the-shelf and custom platforms across industries.

Streamline Your Certification Workflow
Discover how AdaCore technologies support certification requirements.
Trusted Across the Industry
Over one hundred companies across high-integrity industries have chosen our technology to meet the highest standards of safety, reliability, and performance.





















