Programming languages provide the building blocks for the world’s computer software. Unfortunately, poorly designed and implemented languages are endemic, which leads to costly inefficiencies and threats to safety and security. Our research focuses on the correct, reliable and efficient implementation of languages.
We address the foundations of language implementation, including how those foundations perform, their correctness and how they influence language design. Our work on garbage collection is internationally renowned. Outstanding infrastructure is vital to what we do, including open-source language implementations such as Jikes RVM and the Mu micro virtual machine. We have a strong reputation for novel performance analysis. This includes leading the development of the DaCapo benchmark suite, and developing new methodologies for power and performance analysis. The formal correctness properties of language implementations is an emerging focus of our research.
We collaborate with leading academic and industrial research teams internationally. Our work is funded by competitive grants from the Australian Research Council and the National Science Foundation, and supported by our industrial partners including Microsoft Research, Facebook, Google, Intel, IBM and Oracle.
Explore our available student research projects below and if you’d like to discuss opportunities for collaboration or funding, please email us.
- Memory Management (Steve Blackburn, Tony Hosking, Michael Norrish)
- Language Runtime Systems (Steve Blackburn, Tony Hosking, Michael Norrish)
- Programming Language Semantics (Michael Norrish)
- Language Implementation Verification (Michael Norrish, Tony Hosking)
- Hardware Support for Programming Languages (Steve Blackburn, Tony Hosking)
- Transactional Memory (Steve Blackburn, Tony Hosking)
- Software Security (Steve Blackburn, Tony Hosking, Michael Norrish)
- Vulnerability Detection and Mitigation (Tony Hosking, Michael Norrish)
- System Evaluation Methodology (Steve Blackburn, Tony Hosking)
- Concurrency and Parallelism in Languages and Runtimes (Steve Blackburn, Tony Hosking)
- Esmaeilzadeh, H., Blackburn, S., Yang, X., McKinley, K., (2010). Power and Performance of Native and Java Benchmarks on 130nm to 32nm Process Technologies. In Annual Workshop on Modeling, Benchmarking and Simulation 2010, Saint-Malo France.
- Sartor, J.B., Blackburn, S., Frampton, D., Hirzel, M., McKinley, K., (2010). Z-Rays: Divide Arrays and Conquer Speed and Flexibility. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2010), Toronto Canada.