AdaCore: Helping Developers Build Software that Matters
Everything we do at AdaCore is centered around helping developers build safe, secure and reliable software.
For 30 years, we've partnered with global leaders in aerospace & defense, air traffic management, space, railway and financial services. We've developed tools and services simplifying high-integrity software development through a subscription-based model. As demand for secure applications grows in industries like automotive, medical, energy, and IoT, we're adapting our proven technologies to assist a new generation of developers.
Our 150 global experts based in the US, France, Germany, the UK, and Estonia, collectively develop cutting-edge technologies to address the challenges of high-grade software development.
Joining AdaCore is about joining a culture of innovation, openness, collaboration and dependability, which defines how we work together, with our customers and partners.
Context:
As a programming language, Ada offers many features that require runtime support, e.g. exception propagation or concurrency (tasks, protected objects). The GNAT compiler implements this support in its runtime library, which comes in many different profiles, with more or less capabilities. The GNAT light runtime library is a version of the runtime library targeted at embedded platforms and certification, with an Operating System or without it (baremetal).
Variants of the GNAT light runtime library have been certified for use at the highest levels of criticality in several industrial domains: avionics (DO-178), space (ECSS-E-ST40C), railway (EN 50128), automotive (ISO-26262).
To achieve these certification objectives in-house toolchains have been developed and proved their worth on many projects for many years but the fact is these toolchains lack the necessary features and capabilities to achieve effectively the DO-178C objectives (DO-178C is a set of guidelines that defines the certification objectives for software for the development of safety-critical embedded software in airborne systems).
Goals:
The goal of this internship is to define a Domain Specific Language (DSL) based on LangKit, a language developed by AdaCore, and integrate it into VS Code environment to write requirements (high-level and low-level) in an Easy Approach Requirements Syntax (EARS) way, test cases, high-level contracts to streamline review, traceability or/and generate low-level Ada/SPARK contracts and ultimately generate basic code routines in (Ada, Rust, etc.).
Skills required:
Basic knowledge of V-cycle
Basic knowledge of formal methods
Good knowledge of framework for developing programming languages and domain-specific languages
Good written and oral English
Comfortable with a Unix development environment (Git, shell, etc.).
Nice to have:
Basic knowledge of safety-critical systems and standards
Basic knowledge of code generation, AST
Basic knowledge of Python programming language in a production environment
Timeframe & Location
During 2025 - 6 months - Paris office or Toulouse office
Beyond the job
We're a global organization driven by diverse backgrounds, fostering innovation through an open exchange of ideas. We welcome applicants of all backgrounds, celebrating diversity in ethnicity, nationality, gender, age, religion, abilities, sexual orientation, veteran or marital status.
Our commitment is to help our teammates, wherever they are based, feel comfortable and satisfied, by encouraging flexibility to ensure them a healthy work-life balance. Additionally, we prioritize individual development by offering continuous training from day one with a personalized onboarding plan.