Rust for Certifiable Software: Bridging Communities

Jose F. Ruiz

Embedded Product Manager, AdaCore

Rust is an attractive language within the software development community, particularly in the high-integrity industry, owing to its robust safety guarantees.

Rust's appeal extends beyond the technical merits of the design of the language, thanks to the positive energy of the Rust community and the extensive set of crates. However, the certifiable software community has specific needs, some of which are distinct from those that the Rust community is used to meeting, that necessitate a tailored approach to meet certification requirements. Therefore, there is a need for a certification-aware ecosystem capable of producing stable and secure toolchains for the platform of choice, ensuring long-term maintenance and support, and providing qualification and certification materials. In this talk, we’ll highlight three of those needs, how to meet them, and how to contribute the results back to the community:

- Toolchain and runtime testing, including for restricted (no-std) targets

- Code coverage analysis tools

- Certification evidence for tools and runtimes

Software certification standards dictate stringent objectives that must be met during software development and verification. These objectives lead to a large set of requirements that a programming language and its development and verification tools must meet before they can realistically be used in this context.

Reliability and stability of the language, runtime, and tools emerge as foundational imperatives, necessitating the provision of thoroughly vetted and consistently maintained versions of them. High-integrity projects need to be able to stay on a fixed version of the development and verification environment where continuous long-term support is indispensable. This ensures that issues encountered during development, deployment, and maintenance are promptly addressed.

While the Rust community predominantly focuses on mainstream applications, high-integrity platforms such as real-time operating systems (RTOSs) and bare-metal targets present distinctive challenges. Professional expertise in these domains can ensure seamless integration and optimization of language constructs on top of these specialized platforms. These platforms often use a restricted Rust environment (no_std) to reduce the memory footprint, limit the execution overhead, and fully control the software executing on the target.

The software and tools used for development and verification must also be qualified and certified, further underscoring the need for specialized expertise and support.

Professional entities equipped with the required knowledge can provide timely and comprehensive evidence of compliance for the compilation toolchain, embedded runtimes and libraries, and verification tools like coding standard checkers or code coverage tools.

Obtaining coverage metrics for all levels of safety certification, up to modified condition/decision (MC/DC), is an essential requirement of certification standards. Performing coverage analysis on complex and diverse test suites demands powerful consolidation features that let users assess the combined coverage achievements of multiple program executions.

About Jose F. Ruiz

Dr. Jose Ruiz is a Product Manager at AdaCore with 25 years of experience in embedded safety-critical real-time systems, having authored/coauthored over 40 papers in that area. He received his Ph.D. Degree for his work in the field of real-time and multimedia systems, including scheduling policies and resource management in real-time operating systems. He is an expert in the certification of high-integrity systems in aeronautics, space, and railway domains, and he has been involved in the certification/qualification of run-time libraries and automatic code generators from modeling languages. Throughout his career, he has worked on the definition of language profiles for embedded systems and the design and implementation of the run-time support required for executing bare-metal targets.

Sponsored by

Official Media Partners

Supported by