Riverside Research Institute-posted 23 days ago
$72,000 - $140,000/Yr
Full-time • Entry Level
Lexington, MA
501-1,000 employees

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!

  • 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.
  • 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
  • Top Secret security clearance required.
  • 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
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service