Software Engineer Placement/Internship: GNAT DAS: AI Automated Fuzz Testing for C using LLMs

AdaCore
Bristol
3 days ago
Create job alert

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

Developed at AdaCore, the GNAT DAS tool suite (https://www.adacore.com/dynamic-analysis) includes GNATfuzz (https://www.adacore.com/dynamic-analysis/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. The next phase in the evolution of this product is to replicate the success of GNATfuzz for Ada by supporting the C programming language. There are multiple challenges to overcome in the automation of test cases and test harnesses for C applications and libraries; these include automated build infrastructures and support for buffers and pointers. Utilization of AI forms a part of the strategy of this internship; AdaCore would like to better understand the benefits of AI 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 C and Python programming languages is essential. Experience with Libclang is highly beneficial.


Goals

The internship's overall goal is to progress the state of the art in automated fuzz testing for C applications. This is then split into 3 research areas; the number of applicable goals will depend on the length of the internship.


Goal 1: Automatic generation of C test harnesses

  • Create a manual harness for marshaling primitive C types (ignore pointers initially) from binary test cases
  • Genericize the test harness design into a template that can be populated via the fuzzing tool
  • Automate a static analysis of user code bases to capture required data elements and populate the test harness template


Goal 2: Investigate the benefits of AI for test harness generation

  • Multiple directions can be taken here, including:
  • Groupings of pointers to buffers and buffer sizes
  • Help with advanced concepts like function pointers
  • Identification of interesting subprograms for fuzzing (subprograms at the boundary of a system call tree)
  • Identification of code regions not suitable for fuzzing (i.e. permanent loops, blocking calls, file IO, retained state)
  • Auto-mocking of non-fuzzable function calls


Goal 3 (stretch): Automatic generation of interesting values (corpus generation)

  • Generate a corpus via static analysis tooling like Libclang
  • Investigate the benefits of corpus generation via AI, multiple directions can be taken here, including:
  • Perform a benchmark comparison of AI vs compiler-generated objects
  • Generation of interesting values for solving complex branch conditions and therefore increasing coverage


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
  • Experience/interest in C language interfaces (libclang)
  • Solid understanding and interest in LLMs and other primary aspects of AI


Timeframe & Location


During 2025 - 3 to 9 months - Bristol office

We are looking for a candidate who can do a placement with an agreement established by the university/school.


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.

Related Jobs

View all jobs

Software Engineer Intern

Systems Engineer Industrial Placement

Graduate Electronics Engineer

CNC Manufacturing Engineer

Product Engineering: Future Propulsion Systems Undergraduate Programme

Programme Engineering Manager (Staff role)

Get the latest insights and jobs direct. Sign up for our newsletter.

By subscribing you agree to our privacy policy and terms of service.

Industry Insights

Discover insightful articles, industry insights, expert tips, and curated resources.

Navigating Space Career Fairs Like a Pro: Preparing Your Pitch, Questions to Ask, and Follow-Up Strategies to Stand Out

The space industry is no longer the exclusive domain of government agencies launching satellites or sending astronauts on brief orbital flights. Today, the UK’s burgeoning space sector includes private aerospace companies, satellite constellations, space tourism ventures, ground systems and data analytics, and even in-orbit servicing enterprises. With an ever-expanding constellation of opportunities—ranging from rocket propulsion design and mission operations to Earth observation analytics and regulatory affairs—the demand for skilled professionals has never been greater. But how do you seize these opportunities in such a competitive environment? Space career fairs offer a direct line to the leading players in UK aerospace, allowing you to network face-to-face with hiring managers, learn about industry trends, and present your unique skills. If you’re aiming to launch or advance your career in space—whether you’re a recent graduate, an experienced software engineer, a propulsion specialist, or a project manager—this guide will help you make an indelible mark. We’ll discuss how to craft a potent pitch, ask the right questions, and follow up diligently so that you stand out from the crowd.

Common Pitfalls Space Job Seekers Face and How to Avoid Them

The UK’s space industry is booming, bolstered by innovation in small satellite design, launch services, Earth observation, deep-space exploration missions, and more. Government initiatives—such as the UK’s National Space Strategy—provide a supportive environment for start-ups, established aerospace giants, research institutions, and investors. At the same time, the sector is highly competitive: space missions demand rigorous engineering, systems integration, regulatory compliance, and a collaborative mindset. Whether you’re an early-career engineer, a data scientist venturing into remote sensing, or an experienced professional exploring new horizons, it’s all too easy to stumble into common pitfalls when seeking space-related jobs. This article highlights frequent mistakes that job applicants make in this exciting but challenging field, along with practical advice for avoiding them. If you’re ready to explore space careers—be it in launch operations, satellite development, mission analysis, or ground segment solutions—don’t forget to check UK Space Jobs for the latest roles across the country. By taking on board these tips, you’ll enhance your prospects of securing a role where you can truly reach for the stars.

Career Paths in the UK Space Industry: From Entry-Level Roles to Leadership and Beyond

The space sector has long captured our imaginations with visions of rocket launches, lunar missions, and cutting-edge satellite systems. Yet for many people in the UK, the reality of pursuing a space-related career can seem both thrilling and opaque. The truth is that the UK’s space industry is thriving, offering diverse and rapidly expanding opportunities across engineering, science, project management, data analytics, and beyond. Whether you’re an aspiring astronautical engineer or an experienced professional considering a pivot into space technology, the sector has a broad spectrum of roles awaiting your talent and enthusiasm. In this comprehensive guide, we will explore: The importance of the UK space sector Entry-level positions for recent graduates or early-career job seekers Core skills and qualifications that boost employability Mid-level roles offering deeper technical and managerial responsibilities Senior and leadership paths for those aiming to shape space missions and corporate strategy Emerging trends defining the future of UK space activities Practical tips for job seekers on www.ukspacejobs.co.uk By the end, you’ll have a roadmap for how to launch, develop, and excel in a UK space career—one in which you can help design satellites, explore new frontiers, analyse Earth observation data, or manage complex missions that advance our understanding of the cosmos.