Formal Verification and Software Assurance Engineer
Listed on 2026-09-02
-
Software Development
Software Testing, DevOps, Software Engineer, Embedded Systems/ Firmware/ IoT
Johns Hopkins Applied Physics Laboratory (APL) seeks a Formal Verification and Software Assurance Engineer to advance high-assurance software for critical national security, space, and health missions. You will apply formal methods, rigorous analysis, and secure development practices to specify, model, and verify complex software and embedded systems. Collaborating with experts across IT and cybersecurity, you'll develop assurance cases, automate proofs and model checking, and drive defect and vulnerability discovery early in the lifecycle.
APL's mission-driven, collaborative culture supports research, innovation, and advanced degrees, enabling you to grow while delivering impactful, ethically grounded solutions.
Responsibilities
- Apply formal methods to specify, model, and verify safety- and mission-critical software and embedded systems
- Develop and execute software assurance plans, security analyses, and rigorous testing strategies
- Design proofs, model checks, and automated analyses to identify defects and vulnerabilities early in the lifecycle
- Collaborate with cybersecurity, systems, and mission domain experts to engineer secure, dependable solutions
- Document verification evidence and present results to sponsors and technical stakeholders
- Contribute to research prototypes, tools, and publications in formal verification and software assurance
Required Skills
- Formal verification (model checking, theorem proving)
- Software assurance and safety/security standards
- Programming in C/C++ and Python
- Specification languages (TLA+, Coq, Isabelle, ACL2, HOL, SPARK/Ada)
- Static and dynamic analysis tools
- Secure software development lifecycle (SSDLC)
- Cybersecurity and vulnerability analysis
- Real-time and embedded systems development
- Requirements engineering and formal specification
- Linux development and scripting
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).