The University of Queensland in Australia offers a PhD scholarship in Verifying compiler optimization passes in the 2020/21 academic session.
Compilers are an essential ingredient of the computing base. Software developers need to be able to trust their compilers because an error in a compiler can manifest as erroneous generated code for any of the myriad of programs it compiles. The traditional approach to compiler verification is testing, but this cannot cover all cases and hence can only show the presence of errors, not their absence. The gold standard for producing trusted software is mechanized formal verification by theorem provers. This research project focuses on verifying optimization passes of the Graal compiler, using the Isabelle interactive theorem prover.
Verification of a compiler is a complex, time-intensive task that requires expertise in formal semantics, verification methods, mechanized theorem-proving technology, and of course compilers. Fortunately, compilers are organized into multiple passes, thus enabling the verification process to be structured to match the passes, and allowing one to build up a verified compiler pass-by-pass. Our project is focusing on modelling the Graal Intermediate Representation (IR), which is a sophisticated graph structure, and then verifying several key optimisation passes of the open-source Graal compiler. If you are interested in working with cutting-edge compiler technology and doing a PhD as part of this project, we invite you to join our team.
Worth of Award
- The Scholarship is worth $40,000 per annum tax-free for three years, with the possibility of two 6-month extensions at the standard RTP rate ($28,092 per annum, indexed annually) in approved circumstances
- To be eligible, you must meet the entry requirements for a higher degree by research.
Required selection criteria:
- An honours or research masters degree in computer science;
- Some knowledge of compilers and intermediate representations;
- Expertise in logic and discrete mathematics.
Desirable selection criteria:
- Experience with formal semantics of programming languages;
- Experience with theorem provers, especially interactive theorem provers;
- Experience with program analysis, such as static analysis tools or algorithms.
How to Apply
To apply for admission and scholarship, follow the link on the upper right of their page. There is no separate application for scholarship because you will have the opportunity to request scholarship consideration on the application for admission.
Before submitting an application you should:
- check your eligibility
- prepare your documentation
- contact Associate Professor Mark Utting ([email protected]) to discuss your suitability for this scholarship
When you apply, please ensure that under the scholarships and collaborative study section you:
- Select ‘My higher degree is not collaborative’
- Select ‘I am applying for, or have been awarded a scholarship or sponsorship’.
- Select ‘Other’, then ‘Research Project Scholarship’ and type in ‘COMPILER OPTIMIZATION‘ in the ‘Name of scholarship’ field.
Deadline: Applications close on June 30, 2020.