Riverside Research Institute

Research Scientist – Formal Methods (some Hybrid schedule available)

Location US-MA-Lexington
ID 2025-3861
Category
Research & Development
Position Type
Full Time Salary

Riverside Overview

Riverside Research is an independent National Security Nonprofit dedicated to research and development in the national interest. We provide high-end technical services, research and development, and prototype solutions to some of the country’s most challenging technical problems.
 
 All Riverside Research opportunities require U.S. Citizenship

Position Overview

The Secure and Resilient Systems group seeks a research scientist 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.

 

Some topics of interest to a good candidate may include: theorem provers (e.q., Rocq/Coq, Lean, Isabelle), SMT solvers, programming languages theory (e.g., 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 hardware, bus protocols) is a plus.

 

Secure and Resilient Systems research scientists need a strong background in computer science fundamentals (e.g., algorithms, data structures, theory of computation, programming languages), 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/Coq or Lean, you definitely should apply for this position. If you have hacked on seL4, have proved the correctness of a crypto protocol implementation in Rust, or know the pros and cons of omnisemantics then you need to apply for this position!

Responsibilities

  • Help the group design 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/or capabilities in a range of relevant programming languages
  • Contribute to whitepapers and/or published papers that document innovative work preformed
  • Document and communicate design decisions, technical challenges, and progress to technical program leadership
  • Collaborate with team members on debugging programs, pair programming, reviewing papers/proposals, etc.

Qualifications

Required Qualifications:

  • Bachelor's degree, preferably in a related technical field such as computer science, computer engineering, electrical engineering or cybersecurity
  • Familiarity with formal methods
  • Experience with low-level software including C and assembly code
  • Software development fundamentals for working inside a large project (e.g., submitting PRs, git branches/merges/rebasing, build systems, etc.)
  • Communication and creative skills to develop, prototype, benchmark, and document significant security features integrated into existing systems security technologies
  • Fluency in various programming languages, and strong background in programing languages, algorithms, and data structures fundamentals
  • Must be eligible to obtain a Top Secret security clearance.

Desired Qualifications:

  • 2 years experience with masters or advanced degree in Computer Science or related field
  • Formal methods experience
  • 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 establish a solid working relationship with peers in the group and across Riverside Research
  • Self-starter and ability to manage time and technical tasks independently without direct supervision
  • Superior written and verbal communications skills
  • Familiarity with seL4, LLVM, Rust or other cutting-edge system software languages and tools

Global Comp

$72,000 - $140,000 This represents the typical compensation range for this position based on experience, location and other factors.

Closing Statement

Riverside Research Institute is a not-for-profit, technology-oriented defense company, where service to our customers and support of our staff is our overall mission. Riverside is an affirmative action-equal opportunity employer and complies with all applicable federal, state, and local laws regarding recruitment and hiring.  Riverside offers comprehensive compensation and benefit packages to our employees.
Riverside bases its employment decisions solely on technical experience, qualifications and other job-related criteria related to our organizational purpose as a not-for-profit company, and without regard to race, color, religion, age, sex marital status, sexual orientation, national origin, physical or mental disability, veteran’s status or any other status legally protected by applicable federal, state, and local law.
 

Options

Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
Share on your newsfeed