Would you be intrigued by an opportunity to explore interesting and unusual ways to exercise your deep skills in computer science, especially in the area of formal verification, for application to programming, modeling and simulation in industrial automation? Are you also passionate about parallel and distributed computing? Join our research group to explore how to apply both these areas to digital twin technology and make a difference with your expertise.
We make real what matters.
You will architect, design and develop prototypes and technology demonstrators with a very high quality to solve contemporary and emerging critical business challenges. Following are (but not limited to) your core business expectations:
o Demonstrate passion to enhance knowledge in state-of-the-art formal verification techniques as applied to program compilation (and related compiler enhancements)
o Effectively execute projects from comprehensively analyzing requirements to rapidly designing and implementing solutions: develop high performance algorithms and software from concept to realization, targeted to deliver solutions to Siemens business problems globally
o Continuously hone and upgrade your skills in the constantly evolving technology world: create the future through intellectual property such as patents and publications in prestigious conferences and journals.
Use your skills to move the world forward.
• Proven experience (M.Sc. or Ph.D.) in practical and theoretical aspects of SAT and SMT solving.
• At least a M.Sc. thesis, preferably a Ph.D. in the area of formal methods:
• Software model checking, model checking, symbolic execution, theorem proving.
• Predicate abstraction (e.g. CEGAR), property directed reachability (IC3/PDR).
• Profound knowledge in static program analysis techniques.
• data flow analysis, constant folding, points-to or alias analysis, static single assignment
• cone of influene, dead-code elimination, optimizing compilers, compiler construction
• Functional programming skills: Experience in OCaml, Haskell, F#, or Scala.
• Working knowledge of compiler construction techniques.
• context-free grammar, bottom-up parser (LALR parsing), Backus-Naur form,
• scanner, lexer, parser, Lex, Flex, Yacc, Bison, Menhir, ANTLR
• Passion and keen interest in the fields of formal verification, compiling and programming environments
• Specifically, the candidate is required to necessarily have the following skills:
1. Excellent programming skills in at least one of C#/C/C++
2. Good knowledge of optimizing compilers /compiler optimizations on code
3. Deep knowledge of data structures
4. Knowledge in the area of algorithms, formal mathematical models and proofs (especially formal verification methodologies) is required.
5. Knowledge of graph theory, reverse engineering and computer architectures is a plus.
6. Knowledge of the workings of GCC and Clang optimizers is a plus
7. Experience with (or in-depth knowledge of) one or more of profiling tools such as gprof, PAPI, Windows Performance Analyzer, valgrind, cachegrind, and related software such as the TAU profiler used in the high performance computing area, is a plus
• You have excellent communication and presentation skills
• While you are self-motivated and capable of working independently, you are also comfortable in teams
• Masters/ Ph.D. in Computer Science (or related fields)
• Technical papers at prestigious conferences and journals would be a plus
We’re Siemens. A collection of over 372,000 minds building the future, one day at a time in over 200 countries. We're dedicated to equality and we welcome applications that reflect the diversity of the communities we work in. All employment decisions at Siemens are based on qualifications, merit and business need. Bring your curiosity and imagination, and help us shape tomorrow.
Find out more about department at: Corporate Research, Siemens India website and about Siemens careers at: www.siemens.com/careers