Research Scientist – Formal Methods

Riverside Research Institute

$60K — $115K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Bachelor’s degree in computer science, computer engineering, electrical engineering, cybersecurity, or a related field
  • Ability to work collaboratively on speculative research projects
  • Familiarity with formal methods
  • Experience with functional and imperative programming, including C and assembly code
  • Exposure to programming language concepts and implementations
  • Software development fundamentals for working in large projects
  • Fluency in multiple programming languages and strong fundamentals in algorithms and data structures
  • Ability to obtain and maintain a U.S. government security clearance

Responsibilities

  • Contribute to the design of innovative solutions to customer problems related to formal methods and systems software
  • Prototype and evaluate features within large software projects such as LLVM or CompCert
  • Build new tools and capabilities in a range of relevant programming languages
  • Contribute to whitepapers/published papers that document innovative work performed
  • Document and communicate design decisions, technical challenges, and progress to technical leadership
  • Collaborate with team members on debugging programs, pair programming, reviewing papers/proposals

Benefits

  • Opportunities to work on cutting-edge formal methods and software security
  • Collaborative research environment with a focus on innovation
  • Potential for professional growth through contributions to papers and projects
  • Access to advanced tools and languages in systems software
  • Dynamic team that values communication and creativity
Full Job Description
Position Overview

The Secure and Resilient Systems group seeks a Research Scientist – Formal Methods to support research and development of cutting-edge formal methods applied to software systems. The Research Scientist will support a team that invents, prototypes, and evaluates new formal methods and software security approaches throughout the systems software stack.

 

Topics of interest for strong candidates may include theorem provers (e.g., Rocq, Lean, Isabelle), SMT solvers, programming language theory (e.g., type theory, operational semantics), functional programming, compilers (e.g., frontends, IR & optimization, backends), automated program analysis and software testing. Interest in systems software (e.g., operating systems including RTOS, hypervisors), computer architecture (e.g., tagged architectures), and peripheral hardware (e.g., custom device drivers, FPGA development, bus protocols) is a plus.

 

The role requires a strong background in computer science fundamentals (e.g., programming languages, algorithms, data structures, theory of computation), experience with software development practices for large projects (e.g., version control, debugging techniques), an understanding of the system software stack and the software/hardware interface (e.g., at least one ISA, assembly code), and propensity for the research process (e.g., breaking big problems down, designing experiments, analyzing data).

 

If you have taken programming languages theory, formal methods, compilers, computer architecture and/or operating systems courses, you should apply for this position. If you have experience implementing and proving systems using a theorem prover such as Rocq or Lean, you definitely should apply for this position. If you have hacked on seL4, have proved the correctness of a crypto protocol implemented in Rust, or know the pros and cons of omnisemantics then you need to apply for this position!

Responsibilities
  • Contribute to the design of innovative solutions to customer problems related to formal methods and systems software
  • Prototype and evaluate features within large software projects such as LLVM or CompCert
  • Build new tools and capabilities in a range of relevant programming languages
  • Contribute to whitepapers/published papers that document innovative work performed
  • Document and communicate design decisions, technical challenges, and progress to technical leadership
  • Collaborate with team members on debugging programs, pair programming, reviewing papers/proposals, etc.
Qualifications

Required Qualifications

  • Bachelor’s degree in computer science, computer engineering, electrical engineering, cybsersecurity, or a related field
  • Ability to work collaboratively on speculative research projects
  • Familiarity with formal methods
  • Experience with functional and imperative programming, including C and assembly code
  • Exposure to programming language concepts, definitions, and implementations (type systems, operational semantics, interpreters, compilers, etc.)
  • Software development fundamentals for working inside a large project (e.g., submitting pull requests, git branches/merges/rebases, build systems, etc.)
  • Communication and creative skills to develop, prototype, benchmark, and document significant security features integrated into existing systems security technologies
  • Fluency in multiple programming languages, and strong fundamentals in algorithms and data structures
  • Ability to obtain and maintain a U.S. government security clearance

Desired Qualifications

  • Two years of experience with a Master’s degree or PhD in computer science or related field
  • Formal methods experience with exposure to proof techniques (progress and preservation, logical relations, separation logic, refinement, translation validation, symbolic execution, etc.)
  • Strong grasp of the research process (e.g., reading & writing academic papers, ideation for inventing solutions to hard problems)
  • Ability to operate independently with limited supervision and feedback, and to establish a strong working relationship with peers and across Riverside Research
  • Superior written and verbal communication skills
  • Familiarity with seL4, LLVM, Rust, or other cutting-edge system software languages and tools

 

Global Comp$60,000 - $115,000 This represents the typical compensation range for this position based on experience, location and other factors.

Similar Jobs

More Jobs at Riverside Research Institute

More Information Technology Jobs

Find similar Research Scientist – Formal Methods jobs: