We are currently seeking researchers/engineers with embedded systems and software assurance expertise to perform research on embedded systems. Software assurance is pivotal in fulfilling our mission to make critical systems trustworthy.
Requirements gathering: Engaging the client in a series of discussions, where each iteration refines the needs of the client and leads to suggestions for means to meet those needs.
Architecture and design: constructing high-level architectural descriptions of systems, and constructing deeper designs by fleshing out architecture prototypes. Architectures must be designed with assurance in mind, determining where and how formal methods are to be applied.
Implementation: extending design prototypes through to a finished product, with care taken to ensure robustness and ease of use.
Software Assurance: use mechanical reasoning tools and techniques such as static analysis, property-based testing, bounded model-checking, or symbolic execution to demonstrate or analyze desired security and correctness properties of software systems.
Testing and validation: constructing and regularly conducting system, unit, and regression tests, as well as conducting semi-formal validation and verification.
Technology research and development: conducting speculative research and development of cutting-edge technology, and incorporating that technology in product prototypes.
Technical infrastructure development: developing (designing, implementing, and maintaining) tools to be used within Galois, and developing library code to be shared among projects.
Education - Minimum of a BS in computer science, electrical engineering, or mathematics.
Experience building highly performant and trustworthy cyber-physical software for mission-critical applications.
Experience with C, C++, and Rust programming languages.
Experience with advanced software analysis tools based on symbolic execution (e.g., Kani, Frama-C, Verus, or Astree).
Experience developing, testing, and operationalizing capabilities in integrated (SWIL/HWIL) lab environments.
Ability to work in a small team to rapidly prototype and operationalize new features and capabilities.
Eagerness to learn new tools and techniques emerging from the R&D community.
Experience developing control algorithms in MATLAB/simulink or Ansys SCADE.
In-depth understanding of formal verification principles, methods, and relevant standard industry practices.
Employee Stock Ownership Plan (ESOP)
401(k) retirement plan with 5% employer match and immediate vesting
Fully paid medical insurance plans, and dental and vision reimbursement plan
Health Savings Account (HSA) with generous employer contributions
Mental health and well-being support through our employee assistance program
5 weeks of paid time off and 9 days of paid company holidays each year
16 weeks of fully paid parental leave (available for birth, adoption, and fostering)
1 week of fully paid 'Blue Sky' innovation time each year to pursue your interests