At a Glance
- Tasks: Join us to innovate AI-driven fuzz testing workflows and enhance software reliability.
- Company: AdaCore, a leader in high-integrity software development for 30 years.
- Benefits: Flexible work-life balance, continuous training, and a supportive team culture.
- Why this job: Make a real impact by integrating AI into cutting-edge software testing solutions.
- Qualifications: Strong programming skills in Python, C, or Ada; interest in AI and dynamic analysis.
- Other info: Diverse and inclusive environment with excellent career growth opportunities.
The predicted salary is between 500 - 1500 Β£ per month.
AdaCore is centered around helping developers build safe, secure and reliable software. For 30 years, we have partnered with global leaders in aerospace & defense, air traffic management, space, railway and financial services. We have 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 are adapting our proven technologies to assist a new generation of developers.
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 applications and linked C and C++ libraries. GNATfuzz for C is also in development, and GNATfuzz for C++ will follow shortly after. The next phase in the evolution of this state-of-the-art automated software testing solution is to explore the benefits of AI and LLMs to provide users with powerful insights and automated workflows, ultimately helping them find bugs in their software faster.
The key component of this internship is utilizing AI; AdaCore would like to understand better AI's benefits over more traditional forms of static analysis. Candidates for this position should have a strong interest in automated dynamic analysis verification and a good understanding of large language models (LLMs) and other AI components. A good working knowledge of Ada, C, and Python is essential. Experience with static parsing language tools like Libclang is highly beneficial.
Goals
The internship goal is to advance the state of the art in automated fuzz testing by integrating AI components into AdaCore's fuzz testing solution: GNATfuzz. This is then split into 2 phasesβa research phase and an integration/implementation phase; the number of applicable activities for both phases will depend on the length of the internship and the results of the first phase.
- Goal 1: Rapid Prototyping of AI integration and assessment, for example, we might:
- Investigate the benefits of corpus generation via AI.
- Perform a benchmark comparison of AI vs compiler-generated objects.
- Generate interesting values for solving complex branch conditions.
- Investigate the benefits of using AI to provide insights into a function signature for a C application.
- Identify pointers to scalar objects and pointers to buffers.
- Group buffer pointers and size components.
- Investigate the benefits of using AI to develop an advanced automated project fuzzing workflow.
- Goal 2: Targeted feature integration, for example, we might:
- Integrate the most interesting/beneficial feature into the GNATfuzz product.
- Use an LLM to generate a diverse set of valid and boundary-case inputs for a target application.
- Create an intelligent system that can analyze large projects and decide what subprograms to fuzz and in what order.
- Use AI to interpret C/C++ function signatures to make fuzzing more effective.
Skills required/nice to have:
- Experience/interest in fuzz testing or other forms of dynamic analysis and/or compilation (GCC or LLVM).
- Good programming skills in Python and C (or Ada).
- Experience/interest in language interfaces (i.e., libclang).
- Solid understanding and interest in LLMs and other primary aspects of AI.
Timeframe & Location: During 2026 - 6 to 9 months - Bristol office.
Beyond the job: We are 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 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.
Internship/Placement - GNAT DAS: AI Automated Fuzz Testing Workflows in Bath employer: AdaCore
Contact Detail:
AdaCore Recruiting Team
StudySmarter Expert Advice π€«
We think this is how you could land Internship/Placement - GNAT DAS: AI Automated Fuzz Testing Workflows in Bath
β¨Tip Number 1
Network like a pro! Reach out to current or former employees at AdaCore on LinkedIn. Ask them about their experiences and any tips they might have for landing the internship. Personal connections can make a huge difference!
β¨Tip Number 2
Prepare for the interview by brushing up on your knowledge of AI and fuzz testing. Be ready to discuss how you can contribute to GNATfuzz and share your ideas on integrating AI into automated workflows. Show us your passion!
β¨Tip Number 3
Donβt just wait for job openingsβcreate your own opportunities! If you have a project or idea related to AI and fuzz testing, showcase it on GitHub or your portfolio. This will demonstrate your initiative and skills to us.
β¨Tip Number 4
Apply through our website for the best chance of getting noticed. Tailor your application to highlight your programming skills in Python, C, and Ada, and your understanding of LLMs. We want to see what makes you stand out!
We think you need these skills to ace Internship/Placement - GNAT DAS: AI Automated Fuzz Testing Workflows in Bath
Some tips for your application π«‘
Tailor Your Application: Make sure to customise your CV and cover letter for this internship. Highlight your experience with AI, fuzz testing, and programming languages like Ada, C, and Python. We want to see how your skills align with our goals!
Show Your Passion: Let us know why youβre excited about automated dynamic analysis and AI! Share any relevant projects or experiences that showcase your enthusiasm for the field. We love seeing candidates who are genuinely interested in what we do.
Be Clear and Concise: When writing your application, keep it straightforward. Use clear language and avoid jargon unless necessary. We appreciate a well-structured application that gets straight to the pointβthis shows us you can communicate effectively!
Apply Through Our Website: Donβt forget to submit your application through our website! Itβs the best way for us to receive your details and ensures youβre considered for the role. Plus, itβs super easy to doβjust follow the prompts!
How to prepare for a job interview at AdaCore
β¨Know Your Stuff
Make sure you brush up on your knowledge of Ada, C, and Python. Familiarise yourself with fuzz testing concepts and AI applications in software development. Being able to discuss these topics confidently will show that you're genuinely interested in the role.
β¨Showcase Your Projects
If you've worked on any relevant projects, whether academic or personal, be ready to talk about them. Highlight how you approached problems, what technologies you used, and the outcomes. This will demonstrate your practical experience and problem-solving skills.
β¨Ask Smart Questions
Prepare thoughtful questions about the internship and the company. Inquire about their current projects, the team dynamics, or how they integrate AI into their workflows. This shows that you're engaged and eager to learn more about their work culture.
β¨Be Yourself
While it's important to be professional, don't forget to let your personality shine through. AdaCore values collaboration and openness, so being authentic can help you connect with your interviewers and fit into their culture.