Formal Verification Engineer - Firmware
Excelero Storage
We are now seeking a Formal Verification Engineer, focusing on the firmware verification! In this role, you will be instrumental in ensuring the correctness, security, and reliability of our low-level software that drives the next generation of computing performance. This position is ideal for an individual passionate about applying advanced formal methods to solve complex firmware verification and hardware-firmware co-verification challenges at scale.
As a Formal Verification Engineer, your primary responsibility will be to use formal methods to prove the correctness and safety properties of critical firmware components. You will work closely with firmware architects, software developers, and hardware design teams to define specifications and ensure the firmware adheres to them across various operational states.
What you'll be doing:
Develop high-level, mathematically precise models and specifications for complex firmware behaviors (e.g., security protocols, memory management, boot sequencing) using formal specification
Apply various formal verification techniques, including Model Checking, Theorem Proving, and Equivalence Checking, to verify firmware correctness.
Focus on the interface between hardware and firmware, formally verifying critical handshakes, register accesses, and control flows.
Develop abstract models of hardware components (e.g., MMIO registers, state machines) required for firmware verification.
Analyze counterexamples generated by formal tools to identify root causes of design/firmware flaws.
Research, evaluate, and integrate new formal verification methodologies, tools, and algorithms to improve efficiency and coverage.
What we need to see:
Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field or equivalent experience (Ph.D. is a plus).
3+ years of relevant experience in formal verification of hardware, software, or embedded systems.
Good understanding of the principles of Model Checking and/or Theorem Proving.
Strong proficiency in C/C++ (for firmware analysis) and scripting languages (e.g., Python, Perl).
Direct experience verifying critical firmware components such as Boot ROM/BIOS, Security Enclaves, Power Management, or Interrupt Controllers.
Experience with specialized techniques like Abstract Interpretation, SAT/SMT Solvers, or employing formal approaches in security-critical code.
You will also be eligible for equity and benefits.