Research Scientist - Research Scientist – Compilers and Program Analysis (some Hybrid schedule available)
Sep 19, 2023
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.
Job Number: 1445
For better or worse, there is almost no facet of our modern world that works without a computer system. Virtually all of those computer systems rely on “systems software” to manage distinct tasks and bridge the gap between hardware and higher-level software. Whether it is an embedded system using tightly-coupled FPGA fabric to offload performance- or security-critical tasks or a server using a hypervisor to manage co-resident guests, there is low-level code making sure that higher-level code can see a sane and well-ordered world. That lower-level code is full of complexity as it works to bridge the gap from the realities of diverse hardware ISAs to higher-level abstractions. It is also foundational to the security story of all of our systems. At Riverside Research, the Secure and Resilient Systems group works to strengthen that code to provide our customers with secure foundations for their mission-critical software stacks. This is essential to getting ahead of the attacker rather than playing whack-a-mole with bug fixes. Sometimes, computers can help us to analyze and implement protections on these software layers in the form of program analysis and compiler-based security mechanisms.
Riverside Research is seeking a mid-career or senior research scientist to support research and development of cutting-edge compiler and program analysis security technologies. As a key member of our Secure and Resilient Systems team, the research scientist will lead efforts to prototype new features in open-source compilers such as LLVM and program analysis tools and frameworks such as angr or others. Strong fundamentals in software development practices for large projects (version control, debugging techniques, etc), an understanding of the system software stack and the software/hardware interface, and a strong background in computer science fundamentals (e.g., algorithms, data structures, program languages) will be critical for efficiently designing and prototyping dramatic tools and features that advance the state of the art in compilers and program analysis.
The research scientist will contribute to a diverse team responsible for developing compiler technologies and program analyses that increase the security of system software like Linux or Xen. They will be expected to prototype and push both code and accompanying documentation/design documents. Additionally, they will jumpstart the research process by leading the team to design solutions to new challenges, break problems into subtasks, contribute to and oversee implementation, and evaluate the resulting prototypes. The research scientist should have the writing skills necessary to communicate their ideas and results to internal and external stakeholders. As a mid-career or senior level contributor, the research scientist will be expected to, with support, pursue and grow funded R&D programs with government research organizations (e.g. DARPA, IARPA, service labs, etc.), lead existing R&D contracts, and transition technology into our other business units. The research scientist will also contribute to technical marketing and proposal writing in their research area. The research scientist will interface with team members across Riverside Research locations.
The research scientist should have experience in “systems” (e.g., C/C++, at least one assembly language, Python, Rust) and hacking on tools for program analysis (these may be written in higher-level languages and leverage DSLs or DSL interpreters/compilers). A good candidate research scientist should be able to explain why programing language fundamentals from C to Haskell to different flavors of domain-specific languages are relevant to this role.
All Riverside Research opportunities require US citizenship.
- Help the group design innovative solutions to customer problems related to systems software
- Prototype and evaluate features within large software projects like LLVM or angr
- Build new tools and/or capabilities in a range of relevant programming languages
- Write whitepapers and/or published papers that document innovative work preformed
- Document and communicate design decisions, technical challenges, and progress to technical and non-technical internal and external stakeholders
- Collaborate with team members on debugging programs, pair programming, reviewing papers/proposals, etc.
- Participate in relevant internal and customer meetings
- Influence technical direction of internal and/or on-contract research and development efforts
- MS degree or BS with 5+ years’ experience preferred in related technical field, such as computer science, computer engineering, electrical engineering, or cybersecurity
- Strong software development fundamentals for working inside a large project (e.g., submitting PRs, interacting with open-source communities and mailing lists, git branches/merges/rebasing, build systems, etc)
- Leadership skills to develop, organize and execute significant capture activities, including building industry teams, assessing win probability, and executing customer call plans
- Must be eligible to obtain a Top Secret security clearance.
- Communication and creative skills to develop, prototype, benchmark, and document significant security features integrated into existing systems security technology
- Fluency in various programming languages, and strong background in programing languages, algorithms, and data structures fundamentals
- PhD degree in Computer Science or related field
- Strong grasp on the research process (e.g., reading & writing academic papers, ideation for inventing solutions to hard problems)
- Healthy balance between technical orientation and business acumen
- Ability to operate independently with limited supervision and feedback, and establish a solid working relationship with technical staff, division managers, and 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
Riverside Research strives to be one of America's premier providers of independent, trusted technical and scientific expertise. We continue to add experienced and technically astute staff who are highly motivated to help our DoD and Intelligence Community (IC) customers deliver world class programs. As a not-for-profit, technology-oriented defense company, we believe service to customers and support of our staff is our mission. Our goal is to serve as a destination company by providing an industry-leading, positive, and rewarding employee experience for all who join us. We aspire to be a valued partner to our customers and to earn their trust through our unwavering commitment to achieve timely, innovative, cost-effective and mission-focused solutions.
All positions at Riverside Research are subject to background investigations. Employment is contingent upon successful completion of a background investigation including criminal history and identity check.
Riverside Research does not mandate COVID vaccination as a condition of employment. However, proof of vaccination or negative test may be required to enter certain government facilities and sites. Vaccination requirements will depend on the status of the federal contractor mandate and customer site-specific requirements. To protect the health and safety of its employees, their families, and to comply with customer requirements, the company requires all employees to disclose vaccination status (upon hire).
Our EEO Policy
Riverside Research is an equal opportunity employer. We recruit, employ, train, compensate and promote without regard to race, religion, sex, color, national origin, age, gender identity, sexual orientation, marital status, disability/veteran, status as a protected veteran, or any other basis protected by applicable federal, state and local law.
If you need assistance at any time in our application or interview process, please contact Recruiting at email [email protected]. A member of the Recruiting team will be available to assist.
This contractor and subcontractor shall abide by the requirements of 41 CFR 60-741.5(a). This regulation prohibits discrimination against qualified individuals on the basis of disability and requires affirmative action by covered prime contractors and subcontractors to employ and advance in employment qualified individuals with disabilities.
This contractor and subcontractor shall abide by the requirements of 41 CFR 60-300.5(a). This regulation prohibits discrimination against qualified protected veterans and requires affirmative action by covered contractors and subcontractors to employ and advance in employment qualified protected veterans.
For more information on "EEO is the Law," please visit: