Staff Frontend Engineer – Series B Startup $200M+ in funding – up to $300k Base – HYBRID

Saragossa
  • Post Date: January 3, 2025
  • 39661
  • Applications 0
  • Views 7
Job Overview

logoAdaCore: Helping Developers Build Software That MattersEverything 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.
ContextDeveloped 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.
GoalsThe 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 harnessesCreate a manual harness for marshaling primitive C types (ignore pointers initially)
from binary test casesGenericize the test harness design into a template that can be populated via the fuzzing toolAutomate 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 generationMultiple directions can be taken here, including:Groupings of pointers to buffers and buffer sizesHelp with advanced concepts like function pointersIdentification
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 LibclangInvestigate the benefits of corpus generation via
AI, multiple directions can be taken here, including:Perform a benchmark comparison of AI vs compiler-generated objectsGeneration of interesting values for solving complex branch conditions and therefore increasing coverage
Skills required/nice to haveExperience/interest in fuzz testing or other forms of dynamic analysis and/or compilation (GCC or LLVM)Good programming skills in Python and CExperience/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 officeWe are looking for a candidate who can do a placement with an agreement established
by the university/school.
Beyond the jobWe’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.

Job Detail
Shortlist Never pay anyone for job application test or interview.