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
AdaCore builds compilers, runtime libraries, and verification tools for various domains such as automotive, aeronautics, railway, and space. These safety-critical domains require rigorous testing and verification activities.
The objective of this internship is to design methods to identify existing technical debt in current test suites and propose a solution that addresses existing test limitations and prevents future technical debt. The chosen methodology and solution will be tasked with identifying and evaluating test and code data, providing a completeness level, and calculating a confidence score based on this data.
The certification team wishes to use these completeness levels and confidence to plan projects, increase the reliability of our test suites, and improve our overall product quality.
Finally, it is very important to ensure the methods created are simple and easily scalable. The certification team uses many test suites and would also like to deploy this at scale across our many products.
During this internship, you will collaborate with the various members of the certification team, learn about safety-critical software development, and learn about quality assurance. You will work with many AdaCore products, such as our custom runtimes, compiler, static and dynamic analysis tools, and more!
If you are curious about testing, safety, and what really goes on behind the scenes of complex software development, this internship is for you.
Goals
In close cooperation with various AdaCore experts and teams, the purpose of this internship is to:
Design a process to identify test data, including test cases, test requirements, and test coverage.
Design means to collect this data from our internal git repositories
Design a method to calculate the completeness and confidence of the test data
Validate the design of the process and the means to implement the process into our existing workflow
Develop the tooling necessary to implement the process into an existing test suite
Evaluate the test suite data and create a comprehensive report. This will help us evaluate the technical debt.
(if time permits) Automate the evaluation of new tests and test data
Skills required or nice to have
Good knowledge of Python
Experience with git required (GitLab or GitHub strongly recommended)
Good spoken and written English (most of the interaction between engineers happens in English)
Knowledge of Ada/C/C++/Spark is a plus
Interest in software safety and/or certification is a plus
Knowledge of database design is a plus
Knowledge of Natural Language Processing (NLP) is a plus
Timeframe & Location
During 2027 - 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.
For more information about our recruitment process, visit our FAQ.