PhD Candidate in Program Verification

PhD Candidate in Program Verification

Published Deadline Location
16 May 20 Jun Nijmegen

Job description

Do you want to carry out a PhD in program verification and proof assistants? And help to scale it up to the verification of realistic systems software?

You will be working on the semantics and verification of systems software (libraries for concurrency, efficient data structures, compilers, and/or operating systems) using type systems, separation logic, and proof assistants. As part of this PhD project, you will contribute to one or more topics:
  • The type-theoretical foundations and implementation of the Coq proof assistant to make it suitable for the embedding of verification techniques that scale to fully-fledged languages and software.
  • The foundations and implementation of new program logics, type systems, and algorithms for interactive and automated verification.
  • The semantics of challenging aspects of low-level/systems programming, e.g. concurrency and memory models of languages such as C, Rust, LLVM, and Assembly.
  • The application of existing or new techniques to verify challenging systems software.

As a PhD candidate you will use and contribute to the Iris and Coq projects. You will be supervised by Robbert Krebbers.

As a PhD candidate you will spend 10% of your time on contributing to teaching, and you will have the opportunity to develop yourself by taking courses, visiting summer schools, etc.

The start of the project is flexible, preferably in autumn 2024. If you have not fully completed your Master's studies but are excited about this position, please do not hesitate to apply or to contact us.


Radboud University


  • You hold an MSc or equivalent degree in computer science, mathematics or a closely related field, or expect to obtain such a degree soon.
  • You are able to work both independently and as part of a team.
  • You are proficient in English. (Dutch is not required.)
  • Prior knowledge of proof assistants is appreciated, but not required.

Conditions of employment

Fixed-term contract: 4 or 5 years.

  • We will give you a temporary employment contract (1.0 FTE) of 1,5 years, after which your performance will be evaluated. If the evaluation is positive, your contract will be extended by 2.5 years (4-year contract).
  • You will receive a starting salary of €2,770 gross per month based on a 38-hour working week, which will increase to €3,539 in the fourth year (salary scale P).
  • You will receive an 8% holiday allowance and an 8,3% end-of-year bonus.
  • You will be able to use our Dual Career and Family Support Service. The Dual Career Programme assists your partner via support, tools, and resources to improve their chances of independently finding employment in the Netherlands. Our Family Support Service helps you and your partner feel welcome and at home by providing customised assistance in navigating local facilities, schools, and amenities. Also take a look at our support for international staff page to discover all our services for international employees.
  • You will receive extra days off. With full-time employment, you can choose between 30 or 41 days of annual leave instead of the statutory 20.

Work and science require good employment practices. This is reflected in Radboud University's primary and secondary employment conditions. You can make arrangements for the best possible work-life balance with flexible working hours, various leave arrangements and working from home. You are also able to compose part of your employment conditions yourself, for example, exchange income for extra leave days and receive a reimbursement for your sports subscription. And of course, we offer a good pension plan. You are given plenty of room and responsibility to develop your talents and realise your ambitions. Therefore, we provide various training and development schemes.


The position is available in the Software Science group of the Institute for Computing and Information Sciences (iCIS) at Radboud University. Our mission is to conduct top research on the use of models for design, verification and analysis of software, bridging the gap between theory and applications. The Software Science group has extensive expertise in formal methods, semantics, proof assistants and theoretical computer science in general, providing an excellent embedding for this project.

Additional information

You can apply only via the button below. Address your letter of application to Robbert Krebbers. In the application form, you will find which documents you need to include with your application.

The first interviews will take place in the week of 1 July. You will preferably start your employment on 1 October 2024.

We can imagine you're curious about our application procedure. It describes what you can expect during the application procedure and how we handle your personal data and internal and external candidates.


  • PhD
  • Natural sciences
  • max. 38 hours per week
  • €2770—€3539 per month
  • University graduate
  • 62.111.24



Houtlaan 4, 6525XZ, Nijmegen

View on Google Maps

Interessant voor jou


Apply for this job

Apply for this job

This application process is managed by the employer (Radboud University). Please contact the employer for questions regarding your application.

Thank you for applying

Please contact the employer for questions regarding your application.

Tip: save this job as favorite in your AcademicTransfer account. This gives you an immediate overview and makes it easy to find the job later on. No account yet? Create it now and take advantage of other useful functionalities too!

Application procedure

Application procedure

Make sure to apply no later than 20 Jun 2024 1:59 (Europe/Amsterdam).