About the job
The Agentic Automated Reasoning Group is building the next generation of software verification tools combining advances in artificial intelligence, the computational capacity of the cloud, and our deep expertise in the domain. Join us if you want to be a part of this transformational endeavor.
Responsibilities
- Work with customer teams to understand the nature of their software and the properties they need to establish of it.
- Identify tools and methods capable of addressing the verification needs of customers, including any novel analysis capabilities required.
- Use tools spanning from fuzzers to model checkers, and interactive theorem provers to establish program properties.
- Explore generative AI techniques to help customers formalize their requirements, find revealing tests, generate required boiler plate for testing and model checking, and find and repair program proofs.
Qualifications
Minimum
- PhD, or Master's degree and 5+ years of CS, CE, ML or related field experience
- Experience in patents or publications at top-tier peer-reviewed conferences or journals
- Experience programming in Java, C++, Python or related language
- Experience in any of the following areas: algorithms and data structures, parsing, numerical optimization, data mining, parallel and distributed computing, high-performance computing
- Experience in formal verification, program analysis, constraint-solving, or theorem proving (academic or professional work)
Preferred
- Experience using Unix/Linux
- Experience in professional software development
- Experience with interactive theorem provers, particularly Lean or Coq
- Knowledge of one or more methods of defining semantics: operational, denotational, axiomatic, etc.
- Experience with automated software analysis techniques: abstract interpretation, data flow, model checking, etc.
- Experience applying machine learning and generative AI tools.