Formal Verification and Software Assurance Engineer

The Johns Hopkins University Applied Physics Laboratory

Laurel (MD)

On-site

USD 100,000 - 245,000

Full time

14 days+

Get more replies from employers

Send a job-specific resume in minutes.

Benefits offered by this job

Professional growth opportunities
Fun social activities
Balanced work-life environment

Job summary

The Johns Hopkins University Applied Physics Laboratory is looking for a motivated Software Assurance/Formal Methods Developer to work on critical systems impacting national security. The role involves using static and dynamic analysis and formal methods to improve software assurance practices.

Applicants should possess a Master’s degree in a relevant field, 2+ years of experience, and an understanding of a range of programming languages. The position offers a challenging work environment focused on innovation and teamwork.

Qualifications

  • 2+ years of experience with formal methods, software assurance, or related fields.
  • Ability to understand code in various programming languages.
  • Ability to obtain a Top Secret security clearance.

Responsibilities

  • Improve software assurance using formal methods.
  • Participate in research projects utilizing formal methods tools.
  • Devise algorithms and techniques for critical systems.

Skills

Formal methods expertise
Static analysis
Dynamic analysis
Symbolic execution
Code quality improvement

Education

Master's in Computer Science/related field

Tools

Coverity
Valgrind
KLEE
SPIN
Z3

Job description

Job Description

Do you have experience conducting formal verification with formal methods for system and software assurance?

Are you passionate about making meaningful contributions that impact national security systems?

Do you work best in an intellectually stimulating, professionally rewarding, and fun environment?

If so, we 're looking for someone like you to join our APL team.

We are seeking a motivated and creative Software Assurance/Formal Methods Developer who will…

  • Solve problems to improve software assurance using static and dynamic analysis, language safety properties, symbolic execution, abstract interpretation, model checking, and automated and interactive theorem provers to tackle the nation's most pressing cyber security challenges.
  • Explore techniques to support development of zero-defect software and systems.
  • Work on research teams staffed with world-class experts to perform research and development improving the state-of-the-art in software assurance theory and practice.
  • Work alongside engineers and scientists who are passionate about innovation and are driven to make a real difference in defending our nation.
  • Participate in research projects that create and apply formal methods tools and techniques to real-world problems. Goals include formal verification of algorithms, improvement of code quality, elimination of software bugs and design flaws, formal specification description, and analysis of cyber-physical systems.
  • Devise and develop algorithms, techniques, and new tools that implement and test your ideas for improving critical systems and more reliable reasoning under uncertainty.
  • Analyze data and results related to system development. Show the benefits of using formal methods in system development as well as the positive effects of using analysis tools.
  • Share knowledge by clearly articulating ideas through papers and presentations to technical staff, management and Government decision makers. Take advantage of opportunities to participate in working groups, sponsor meetings, proposal writing, and conferences.
  • Join an environment that promotes professional growth, a balanced life, and encourages technical development.
  • Have opportunities to participate in fun, social activities like our weekly game nights and yearly summer cookout!
Qualifications

You meet the minimum qualifications for this position if you have:

  • A Master's in Computer Science, Computer Engineering, Electrical Engineering, Applied Math, or another field relevant to the duties as described above.
  • 2+ years of either professional experience or a combination of graduate research and experience with formal methods, software assurance, or related areas.
  • Experience with formal methods tools and techniques, such as language safety properties, symbolic execution, abstract interpretation, model checking, automated and interactive theorem proving, programming language analysis and design, type theory, static source code analysis, and formal logic.
  • Ability to understand code in a variety of programming languages, and be able to develop software to demonstrate new analysis capabilities.
  • Interest in local limited travel, which may be required.
  • Ability to obtain an Interim Top Secret level security clearance by your start date and can ultimately obtain a final Top Secret clearance. If selected, you will be subject to a government security clearance investigation and must meet the requirements for access to classified information. Eligibility requirements include U.S. citizenship.
  • Demonstrate strong interpersonal skills and the ability to work independently and on a team.
Additional Qualifications
  • 5+ years of experience with static and dynamic analysis, formal methods, or related areas.
  • Experience with the above, familiarity with operational semantics, abstract interpretation, symbolic execution, type inference.
  • Experience with software development on Windows and Linux, using languages such as Rust, OCaml, C/C++, and Java.
  • Experience with (1) Static Analysis tools such as Coverity and Klockwork, (2) Dynamic Analysis tools such as Valgrind, libFuzzer, and Java Pathfinder, (3) Symbolic Execution Engines such as KLEE and angr, (4) Model Checkers such as TLA+ and SPIN, (5) SMT Solvers such as Z3, CVC5 and MathSAT (6) other Automated Theorem Provers such as ACL-2 and GnatProve, (7) Interactive Theorem Provers such as Lean and Rocq, and any other formal methods tools.
  • Experience writing published papers and presenting results to conferences/workshops.
  • Familiarity with a range of cyber-security concepts, such as network and host-based security, cryptography, trusted systems, and vulnerability/exploit discovery.
  • Interest in improving system design to help reduce vulnerabilities and improve computer security.
  • Current DoD clearance and prior experience working with Government agencies or Research Labs.
Minimum Rate

$100,000 Annually

Maximum Rate

$245,000 Annually

All qualified applicants will receive consideration for employment without regard to race, creed, color, religion, sex, gender identity or expression, sexual orientation, national origin, age, physical or mental disability, genetic information, veteran status, occupation, marital or familial status, political opinion, personal appearance, or any other characteristic protected by applicable law. APL is committed to providing reasonable accommodation to individuals of all abilities, including those with disabilities. If you require a reasonable accommodation to participate in any part of the hiring process, please contact Accessibility@jhuapl.edu.

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Formal Verification and Software Assurance Engineer
Formal Verification and Software Assurance Engineer

Johns Hopkins Applied Physics Lab • Laurel (MD)

On-site
USD 100,000 - 245,000
Robust education assistance program
Unparalleled retirement contributions
Healthy work/life balance
2026 PhD Graduate - Formal Verification and Software Assurance Engineer
2026 PhD Graduate - Formal Verification and Software Assurance Engineer

The Johns Hopkins University Applied Physics Laboratory • Laurel (MD)

On-site
USD 105,000 - 245,000
2026 PhD Graduate - Formal Verification and Software Assurance Engineer
2026 PhD Graduate - Formal Verification and Software Assurance Engineer

Johns Hopkins Applied Physics Lab • Laurel (MD)

On-site
USD 105,000 - 245,000
Generous benefits package
Education assistance program
Work/life balance
+1
Strategic Systems Software Engineer
Strategic Systems Software Engineer

Johns Hopkins Applied Physics Lab • Laurel (MD)

On-site
USD 100,000 - 245,000
Software Engineer
Software Engineer

Johns Hopkins Applied Physics Lab • Laurel (MD)

On-site
USD 100,000 - 245,000
Software Engineer (TS/SCI cleared)
Software Engineer (TS/SCI cleared)

The Johns Hopkins University Applied Physics Laboratory • Laurel (MD)

On-site
USD 100,000 - 245,000
Software Engineer (TS/SCI cleared)
Software Engineer (TS/SCI cleared)

Johns Hopkins Applied Physics Lab • Laurel (MD)

On-site
USD 100,000 - 245,000
Strategic Systems Software Engineer
Strategic Systems Software Engineer

The Johns Hopkins University Applied Physics Laboratory • Laurel (MD)

On-site
USD 100,000 - 245,000
Full Stack Software Engineer, Strategic Systems
Full Stack Software Engineer, Strategic Systems

The Johns Hopkins University Applied Physics Laboratory • Laurel (MD)

On-site
USD 100,000 - 245,000
Established Cyber Engineer - Capabilities Development
Established Cyber Engineer - Capabilities Development

Johns Hopkins Applied Physics Lab • Laurel (MD)

On-site
USD 100,000 - 245,000