40k to 70k p.a. plus benefits
We are looking for a research engineer with experience in C++ and dynamic or static program analysis techniques. The ideal candidate has a PhD in computer science, is fluent in C++, and is familiar with at least some of the following key techniques:
- Fuzz testing
- Dynamic analysis, concolic execution
- Static analysis, abstract interpretation
- SAT solving
- Compiler or verification infrastructures such as LLVM, Clang, CPROVER, CIL, Boogie, Frama-C
- Has experience developing (automated) verification/testing tools.
We are developing cutting-edge testing and vulnerability-detection products based on a number of verification approaches. We want to develop a new verification engine and runtime for the analysis of multithreaded Java and C code (others languages to follow). You will work in a team of around 5 developers and contribute to the research, design, implementation, and evaluation of the engine from the very early stages of development.
Responsibilities
- Improve existing research techniques for verification and testing in order to make them ready to cope with industrial-size software.
- Contribute to the design, implementation and evolution of our dynamic analysis runtime and surrounding program analysis infrastructure.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Help maintain code quality, organization, and automation.
Required skills
You must have the following skills:
To be successful in this position, you need:
- Proven track of publications/patents in one or more of the techniques enumerated above.
- Strong proficiency in C++, with thorough knowledge of the standard library.
- Proven experience in contributing to large private or open-source projects.
- Proven experience with verification/compiler architectures.
- Excellent communication skills.
Desirable skills
We would also appreciate knowledge or interest in the following:
- Familiarity with verification approaches for concurrent code
- In-depth knowledge of the language specifications of Java or C.
- Proficient understanding of the version control system GIT
- Familiarity with language tools, such as GDB, gprof and Valgrind
by via developer jobs - Stack Overflow
No comments:
Post a Comment