Careers > Certification: Proof of Concept - QEMU as a traceability tool
Last modified 9/25/2025 7:01:47 AM

Certification: Proof of Concept - QEMU as a traceability tool

Internship
AdaCore
Toulouse, France

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

In the context of DO-178C (aeronautics) certification, AdaCore is tasked with providing source code to object code traceability. The aim is to gain confidence in the runtime code by ensuring the object code is coherent with the intended source code structure.

Currently, GNATcoverage is used to instrument and test runtime to provide this traceability. The goal of this Proof of Concept (POC) is to analyze the feasibility and advantages of using the QEMU emulator and binutils to obtain more detailed data for determining and analyzing source code to object code traceability, compared to our existing tools.

Goals

In close cooperation with various AdaCore experts and teams, the purpose of this internship is to use Python to:

  • Create a Generic Engine to automate the compilation and execution of various runtimes and test suites using QEMU simulations.

  • Develop a driver to recover and diagnose the assembly code and source code pairings using binutils and clearly identify any outliner instructions in the assembly code.

  • Create a QEMU script to retrieve executed instructions and verify all test constructs have been executed.

  • Ensure Cross-Platform Compatibility: Guarantee the infrastructure supports both Linux and Windows hosts.

 

Qualifications/Skills Required or Nice to Have

The work will require interacting closely with various engineers from AdaCore (mostly in English).

The applicant should have a fair knowledge of the following topics (a solid knowledge of these topics is a plus):

  • Ada or C programming (both are a plus)

  • Assembly code

  • Python programming

  • Emulation (qemu…)

  • Binutils

  • Development environment (gitlab, shell…)

 

Timeframe & Location:

During 2026 - 6 months - 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.

Powered by Hello Talent