Careers > GNATfuzz fuzzing embedded C
Last modified 9/11/2026 2:50:11 PM

GNATfuzz fuzzing embedded C

Internship
AdaCore
Paris, 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 +190 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

Developed at AdaCore, the GNAT DAS tool suite includes GNATfuzz an advanced fuzz testing solution for Ada applications. GNATfuzz was designed to utilize multiple backend fuzz testing solutions, including AFL++, and includes advanced branch-solving algorithms like RedQueen and Symbolic Execution. GNATfuzz targets and finds bugs in Ada and C.

 

We recently introduced an experimental fuzzing solution for running testing campaigns on embedded Ada codebases. To broaden the programming language support of this state-of-the-art automated software testing tool, the next development phase involves extending these embedded fuzzing capabilities to C codebases. Working as part of a distributed team across Paris and Bristol, your responsibility will be to design and build upon this existing solution.

 

Goal

The internship goal is to extend GNATfuzz's embedded-device fuzzing capabilities to support C codebases. You will be responsible for designing and extending the existing solution in a distributed team between Paris and Bristol, thus good English written and verbal communication is required. The internship is divided into multiple phases.

Phases

  1. Market research and design: Search for similar existing projects to assess feasibility and get examples to design an embedded fuzzing solution for C.
  2. Discuss and validate technical solutions: Justify technical choices and solutions fitting with the existing ones by writing a design document.
  3. Implement the solution using your design document: Using the design document written in the phases before, iteratively implement your ideas as a documented solution.
  4. Validate the implementation: Write a complete test suite (unit and integration tests) to validate the implementation.

 

Required skills

  • Good programming skills in Python and low-level languages (C/C++, Ada, or Rust)
  • Good written and oral English
  • Basic embedded knowledge
  • Understanding of object-oriented programming

 

Nice to have

  • Basic understanding of fuzzing
  • Understanding of QEMU
  • Linux-based development environment (git, shell, linters…)
  • Basic understanding of compiler architecture

 

Timeframe & location 

  • Timeframe: starting 2027 - for 6 months 
  • Location: Paris 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.


For more information about our recruitment process, visit our FAQ.

 

Powered by Hello Talent