Andrew Craik is a Consulting Researcher at Oracle Labs working on the GraalVM optimizing compiler. His interests focus on compilation, program optimization and performance analysis. He also has interests in concurrency, program analysis and programming languages. He graduated with distinction from the University of Waterloo with a Bachelor of Applied Science Honours Computer Engineering - Cooperative Program in June 2007. He then completed his PhD under the supervision of Dr. Wayne Kelly and Prof. Paul Roe at the Queensland University of Technology in Brisbane, Australia. He graduated from QUT in early 2011 with his thesis "A Framework for Reasoning about Parallelism in Modern Object-Oriented Languages".
After graduating Andrew joined the Program Analysis group at Oracle Labs Australia. His work focused on using Clang and the LLVM framework to compiler C/C++ programs written in diverse language dialects for analysis. In 2013 Andrew joined the Java JIT Compiler team at IBM Canada where he focused on the development of novel program optimizations and program analysis. During his tenure at IBM Andrew authored numerous patents on novel program optimization techniques culminating in being named an IBM Master Inventor in 2019. Andrew was also named the IBM Centre for Advanced Studies Collaborator of the Year 2018 for his extensive academic collaborations in Canada and around the world.
Andrew is currently working to develop novel program optimization technologies for the GraalVM compiler and associated performance analysis. Andrew is a keen traveler and has lived in Australia, Canada, the United Kingdom and Kuwait.