Research

My research focus is on programming language implementation and performance analysis. My interests include garbage collection, just-in-time compilation, computer architecture, operating systems, and security. I am a strong believer in shared research infrastructure, leading the DaCapo benchmark project and the MMTk memory management framework.

Garbage Collection

Garbage collection is a major focus of my research. I am particularly interested in novel garbage collection algorithms, the detailed performance analysis of garbage collection, the design of novel high performance garbage collection mechanisms, and the implementation and software engineering of high performance garbage collectors. I am also interested in architectural support for garage collection. I lead the development of the MMTk memory management framework.

Language Implementation

The context for most of my research has been language implementation. I am interested in the software engineering of high performance language runtimes, and also the social dimension of successfully creating large software artefacts within the research community.

Performance Analysis

I have a major interest in performance analysis. I am interested in performance analysis techniques, benchmark suites, and sound methodology. I lead the development of the DaCapo benchmark suite.

Prospective Students

I am always looking for good research students. If you are interested in studying with me, please complete this form. (If you cannot acccess the google form, please use this ASCII form and email it to me.)


Service

University

I serve as Associate Dean for Diversity and Inclusion in the College of Engineering and Computer Science, ANU.

Editorial Roles

ACM Transactions on Programming Language Applications and Systems, (TOPLAS), Associate Editor, 2017, 2018.
ACM International Conference on Programming Language Design and Implementation, (PLDI), Program Chair, 2015.
International Symposium on Memory Management, (ISMM), Program Chair, 2008.
International Conference on Virtual Execution Environments, (VEE), Program Co-Chair, 2013.
International Conference on Object Oriented Programming Systems Languages and Applications, (OOPSLA), Artifact Evaluation Co-Chair, 2013.
Memory System Performance, (MSP), Program Chair, 2004.

Program Committees

Australian Computer Science Conference (ACSC), 2009, 2010, 2011.
Architectural Support for Programming Languages and Operating System (ASPLOS), 2004, 2015 ERC, 2016, 2017 ERC, 2018 ERC, 2019 ERC.
European Conference on Object-Oriented Programming (ECOOP), 2012, 2014.
European Conference on Computer Systems (EuroSys), 2016.
History of Programming Languages (HOPL), 2020.
International Conference on Performance Engineering (ICPE), 2012, 2014.
International Symposium on Computer Architecture (ISCA), 2009 ERC.
International Symposium on Memory Management (ISMM), 2007, 2008, 2009 ERC, 2012, 2018.
International Symposium on Performance Analysis of Systems and Software (ISPASS), 2009.
Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2006, 2007, 2011 ERC, 2012 ERC, 2013 AEC, 2015, 2016 ERC, 2018.
Parallel Architecture and Compilation Techniques (PACT), 2006.
Programming Language Design and Implementation (PLDI), 2005, 2009, 2010 ERC, 2012 ERC, 2013 ERC, 2014, 2015, 2016 ERC, 2017 ERC, 2019 EPC.
Principles and Practice of Programming in Java (PPPJ), 2011.
Virtual Execution Environments (VEE), 2008, 2009, 2013.
Virtual Machines and Intermediate Languages (VMIL), 2010, 2011, 2018.
Workshop on Duplicating, Deconstructing, and Debunking (WDDD), 2008, 2009.

Teaching

Doctoral Students

Zhen He, Integrated Buffer Management for Object-Oriented Database Systems, 2004, pdf
John Zigman, A General Framework for the Description and Construction of Hierarchical Garbage Collection Algorithms, 2005
Xianglong Huang, Improving Program Locality On-the-fly, 2006, pdf
Daniel Frampton, Garbage Collection and the Case for High-level Low-level Programming, 2010, pdf
Jennifer Sartor, Exploiting Language Abstraction to Optimize Memory Efficiency, 2010, pdf
Robin Garner, The Design and Construction of High Performance Garbage Collectors, 2012, pdf
Ting Cao, Power, Performance, and Upheaval: An Opportunity for Managed Languages, 2014, pdf
Vivek Kumar, Achieving High Performance and High Productivity in Next Generation Parallel Programming Languages, 2015, pdf
Ivan Jibaja, Exploiting Hardware Heterogeneity and Parallelism for Performance and Energy Efficiency of Managed Languages, 2015, pdf
Rifat Shahriyar, High Performance Reference Counting and Conservative Garbage Collection, 2015, pdf
Kunshan Wang, Micro Virtual Machines: A Solid Foundation for Managed Language Implementation, 2018, pdf
Xi Yang (current)
Yi Lin (current)
Javad Ebrahimian Amiri (current)

Honours Students

Daniel Frampton, An Investigation into Automatic Dynamic Memory Management Strategies using Compacting Collection, 2003, pdf
Luke Quinane, An Examination of Deferred Reference Counting and Cycle Detection, 2004, pdf
James Bornholt, Abstractions and Techniques for Programming with Uncertain Data, 2013, pdf
Emily McAlister, Relationship between software and hardware energy consumption in Android, 2014
Timothy Sergeant, Improving Memory Management Within the HipHop Virtual Machine, 2014, pdf
Peter Marshall, High Performance Mark-Region Garbage Collection in the HipHop Virtual Machine, 2015, pdf
Theodore Olsauskas-Warren, High Frequency Dynamic Profiling of Managed Runtimes with SHIM, 2015, pdf
(John) Jiabin Zhang, MuPy: A First Client for the Mu Micro Virtual Machine, 2015, pdf
Isaac Gariano, AArch64 Mu: an Efficient Implementation of a Micro Virtual Machine, 2017, pdf
Wenyu Zhao (current)
Matthew Brown (current)

Undergraduate Teaching

Structured Programming 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018

Publications

Copyright Notice. The below material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author’s or organization’s copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.

Wang, Blackburn, Hosking, Norrish, Hop, Skip, & Jump: Practical On-Stack Replacement for a Cross-Platform Language-Neutral VM, in VEE’18: Proceedings of the 2017 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, March 24–25, 2018, Williamsburg, VA, USA, 2018. pdf doi doi
Yang, Blackburn, McKinley, Elfen scheduling: Fine-grain principled borrowing from latency-critical workloads using simultaneous multithreading, in Proceedings of the 2016 USENIX Annual Technical Conference (USENIX ATC'16), Denver, CO, June 22-24, 2016. pdf doi
Jibaja, Cao, Blackburn, McKinley, Portable performance on asymmetric multicore processors, in Proceedings of the 14th Annual IEEE/ACM International Symposium on Code Generation and Optimization, 2016. pdf doi
Lin, Blackburn, Hosking, Norrish, Rust as a language for high performance GC implementation, in Proceedings of the Sixteenth ACM SIGPLAN International Symposium on Memory Management, ISMM '16, Santa Barbara, CA, June 13, 2016. pdf doi doi
Kumar, Dolby, Blackburn, Integrating asynchronous task parallelism and data-centric atomicity, in Proceedings of PPPJ’16, the 13th International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, languages, and tools, Lugano, Switzerland, 2016. pdf doi doi
Blackburn, Diwan, Hauswirth, Sweeney, Amaral, Brecht, Bulej, Click, Eeckhout, Fischmeister, Frampton, Hendren, Hind, Hosking, Jones, Kalibera, Keynes, Nystrom, Zeller, The truth, the whole truth, and nothing but the truth: A pragmatic guide to assessing empirical evaluations, in ACM Trans. Program. Lang. Syst., 2016. pdf doi doi
Lin, Wang, Blackburn, Norrish, Hosking, Stop and go: Understanding yieldpoint behavior, in Proceedings of the Fourteenth ACM SIGPLAN International Symposium on Memory Management, ISMM '15, Portland, OR, June 14, 2015. pdf doi doi
Yang, Blackburn, McKinley, Computer performance microscopy with Shim, in ISCA’15: The 42nd International Symposium on Computer Architecture, 2015. pdf doi doi
Jibaja, Jensen, Hu, Haghighat, McCutchan, Gohman, Blackburn, McKinley, Vector parallelism in Javascript: Language and compiler support for SIMD, in Proceedings of the 2015 International Conference on Parallel Architecture and Compilation (PACT), 2015. pdf doi
Wang, Lin, Blackburn, Norrish, Hosking, Draining the swamp: Micro virtual machines as solid foundation for language development, in 1st Summit on Advances in Programming Languages (SNAPL 2015), 2015. pdf doi doi
Shahriyar, Blackburn, McKinley, Fast conservative garbage collection, in OOPSLA ’14: Proceeding of the 25th ACM SIGPLAN conference on Object Oriented Programming Systems Languages and Applications, 2014. pdf doi doi
Kumar, Blackburn, Grove, Friendly barriers: Efficient work-stealing with return barriers, in VEE’14: Proceedings of the 2014 ACM SIGPLAN/SIGOPS international conference on Virtual Execution Environments, 2014. pdf doi doi
Sartor, Heirman, Blackburn, Eeckout, McKinley, Cooperative cache scrubbing, in PACT ’14 Proceedings of the 23rd International Conference on Parallel Architectures and Compilation Techniques, 2014. pdf doi doi
Shahriyar, Blackburn, Yang, McKinley, Taking off the gloves with reference counting immix, in OOPSLA ’13: Proceeding of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, 2013. pdf doi doi
Gao, Strauss, Blackburn, McKinley, Burger, Larus, Using managed runtime systems to tolerate holes in wearable memories, in PLDI ’13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation, Seattle, WA, USA, June, 2013. pdf doi doi
Cao, Blackburn, Gao, McKinley, The Yin and Yang of Power and Performance for Asymmetric Hardware and Managed Software, in ISCA ’12: The 39th International Symposium on Computer Architecture, 2012. pdf doi doi
Esmaeilzadeh, Cao, Yang, Blackburn, McKinley, Looking back and looking forward: Power, performance, and upheaval, in Communications of the ACM, 2012. pdf doi doi
Esmaeilzadeh, Cao, Yang, Blackburn, McKinley, What is happening to power, performance, and software?, in IEEE Micro, 2012. pdf doi doi
Kumar, Frampton, Blackburn, Grove, Tardieu, Work-stealing without the baggage, in Proceedings of the 2012 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2012), Tucson, AZ, October 19-26, 2012. pdf doi doi
Lin, Blackburn, Frampton, Unpicking the knot: Teasing apart vm/application interdependencies, in VEE ’12: Proceedings of the 2012 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, 2012. pdf doi doi
Shahriyar, Blackburn, Frampton, Down for the count? Getting reference counting back in the ring, in Proceedings of the Eleventh ACM SIGPLAN International Symposium on Memory Management, ISMM ’12, Beijing, China, June 15-16, 2012. pdf doi doi
Yang, Blackburn, Frampton, Hosking, Barriers reconsidered, friendlier still!, in Proceedings of the Eleventh ACM SIGPLAN International Symposium on Memory Management, ISMM ’12, Beijing, China, June 15-16, 2012. pdf doi doi
Lin, Blackburn, Bypassing portability pitfalls of high-level low-level programming, in The 6th Workshop on Virtual Machines and Intermediate Languages (VMIL 2012), Tucson, AZ, October 21, 2012. pdf doi doi
Kumar, Blackburn, Faster work stealing with return barriers, in The 6th Workshop on Virtual Machines and Intermediate Languages (VMIL 2012), Tucson, AZ, October 21, 2012, 2012. pdf doi
Esmaeilzadeh, Cao, Yang, Blackburn, McKinley, Looking back on the language and hardware revolutions: Measured power, performance, and scaling, in Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems, Newport Beach, CA, USA, March 5 - 11, 2011. pdf doi doi
Yang, Blackburn, Frampton, Sartor, McKinley, Why nothing matters: The impact of zeroing, in Proceedings of the 2011 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA 2011), Portland, OR, October 22-27, 2011. pdf doi doi
Garner, Blackburn, Frampton, A comprehensive evaluation of object scanning techniques, in Proceedings of the Tenth ACM SIGPLAN International Symposium on Memory Management, ISMM ’11, San Jose, CA, USA, June 4 - 5, 2011. pdf doi doi
Jibaja, Blackburn, Haghighat, McKinley, Deferred gratification: Engineering for high performance garbage collection from the get go, in Proceedings of the 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness (MSPC 2011), San Jose, CA, June 5, 2011, 2011. pdf doi doi
Cao, Blackburn, McKinley, Virtual machine services: An opportunity for hardware customization, in Workshop on energy-efficient computing for a sustainable world, Porto Alegre, Brazil, Dec 4, 2011. pdf
Sartor, Blackburn, Frampton, Hirzel, McKinley, Z-rays: Divide arrays and conquer speed and flexibility, in ACM sigplan conference on programming language design and implementation, 2010. pdf doi doi
Esmaeilzadeh, Blackburn, Yang, McKinley, Power and performance of native and Java benchmarks on 130nm to 32nm process technologies, in Sixth Annual Workshop on Modeling, Benchmarking and Simulation, MOBS 2010, Saint-Malo, France, 2010. pdf doi
Ha, Arnold, Blackburn, McKinley, A concurrent dynamic analysis framework for multicore hardware, in OOPSLA ’09: Proceeding of the 24th ACM SIGPLAN Conference on Object-Oriented Programming Systems Languages and Applications, 2009. pdf doi doi
Frampton, Blackburn, Cheng, Garner, Grove, Moss, Salishev, Demystifying magic: High-level low-level programming, in VEE ’09: Proceedings of the 2009 ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, 2009. pdf doi doi
Blackburn, McKinley, Immix: A mark-region garbage collector with space efficiency, fast collection, and mutator performance, in ACM SIGPLAN Conference on Programming Language Design and Implementation, 2008. pdf doi doi
Blackburn, McKinley, Garner, Hoffmann, Khan, Bentzur, Diwan, Feinberg, Frampton, Guyer, Hirzel, Hosking, Jump, Lee, Eliot, Moss, Phansalkar, Stefanovic, VanDrunen, Dincklage, Wiedermann, Wake Up and Smell the Coffee: Evaluation Methodology for the 21st Century, in Communications of the ACM, 2008. pdf doi doi
Blackburn, Salishev, Danilov, Mokhovikov, Nashatyrev, Novodvorsky, Bogdanov, Li, Ushakov, The Moxie JVM experience, in ANU Technical Report TR-CS-08-01, 2008. pdf doi
Ha, Gustafsson, Blackburn, McKinley, Microarchitectural characterization of production JVMs and Java workloads, in IBM CAS Workshop, Austin, TX, 2008. pdf doi
Blackburn, Hertz, McKinley, Moss, Yang, Profile-based pretenuring, in ACM Transactions on Programming Languages and Systems, 2007. pdf doi doi
Garner, Blackburn, Frampton, Effective prefetch for mark-sweep garbage collection, in The 2007 International Symposium on Memory Management, ISMM'07, 2007. pdf doi doi
Blackburn, Garner, Hoffmann, Khang, McKinley, Bentzur, Diwan, Feinberg, Frampton, Guyer, Hirzel, Hosking, Jump, Lee, Eliot, Moss, Phansalkar, Stefanovic, VanDrunen, Dincklage, Wiedermann, The DaCapo benchmarks: Java benchmarking development and analysis, in OOPSLA ’06: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, 2006. pdf doi doi
Huang, Blackburn, Grove, McKinley, Fast and efficient partial code reordering: Taking advantage of dynamic recompilation, in The 2006 Iinternational Symposium on Memory Management (ISMM 2006), Ottawa, Ontario, Canada, 2006. pdf doi doi
Hertz, Blackburn, Moss, McKinley, Stefanovic, Generating object lifetime traces with Merlin, in ACM Transactions on Programming Languages and Systems, 2006. pdf doi doi
Blackburn, McKinley, Transient caches and object streams, in ANU Technical Report TR-CS-06-03, 2006. pdf doi
Alpern, Augart, Blackburn, Butrico, Cocchi, Cheng, Dolby, Fink, Grove, Hind, McKinley, Mergen, Moss, Ngo, Sarkar, Trapp, The Jikes Research Virtual Machine project: Building an open source research community, in IBM Systems Journal, 2005. pdf doi doi
Paz, Petrank, Blackburn, Age-oriented concurrent garbage collection, in 14th International Conference on Compiler Construction (cc), Edinburgh, Scotland, April 4-8, 2005. pdf doi doi
Huang, Blackburn, McKinley, Moss, Wang, Cheng, The garbage collection advantage: Improving program locality, in Proceedings of the 2004 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2004), Vancouver, Canada, October 24-28, 2004. pdf doi doi
Blackburn, Cheng, McKinley, Oil and water? High performance garbage collection in Java with MMTk, in ICSE 2004, 26th International Conference on Software Engineering, Edinburgh, Scotland, May 23-28, 2004. pdf doi doi
Blackburn, Cheng, McKinley, Myths and realities: The performance impact of garbage collection, in SIGMETRICS – Performance 2004, Joint International Conference on Measurement and Modeling of Computer Systems, New York, NY, USA, June 12–16, 2004. pdf doi doi
Blackburn, Hosking, Barriers: Friend or foe?, in The 2004 International Symposium on Memory Management (ISMM 2004), Vancouver, Canada, October 24-25, 2004. pdf doi doi
Jump, Blackburn, McKinley, Dynamic object sampling for pretenuring, in The 2004 International Symposium on Memory Management (ISMM 2004), Vancouver, Canada, October 24-25, 2004. pdf doi doi
Blackburn, McKinley, Ulterior reference counting: Fast garbage collection without a long wait, in Proceedings of the 2003 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2003), Anaheim, CA, USA, October 26-30, 2003. pdf doi doi
Blackburn, Jones, McKinley, Moss, Beltway: Getting around garbage collection gridlock, in Proceedings of SIGPLAN 2002 Conference on Programming Languages Design and Implementation, PLDI’02, Berlin, June, 2002. pdf doi doi
Hertz, Blackburn, Moss, McKinley, Stefanovic, Error-free garbage collection traces: How to cheat and not get caught, in SIGMETRICS 2002, International Conference on Measurements and Modeling of Computer Systems, June 15-19, 2002, Marina del Rey, California, USA, 2002. pdf doi doi
Blackburn, McKinley, In or out? Putting write barriers in their place, in Proceedings of the third International Symposium on Memory Management, ISMM ’11, Berlin, Germany, 2002. pdf doi doi
Stefanovic, Hertz, Blackburn, McKinley, Moss, Older-first garbage collection in practice: Evaluation in a java virtual machine, in Proceedings of the first ACM SIGPLAN Workshop on Memory System Performance (MSP), Berlin, Germany, June 16, 2002. pdf doi doi
Blackburn, Singhai, Hertz, McKinley, Moss, Pretenuring for Java, in Proceedings of the 2001 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 2001), Tampa, FL, October 14-18, 2001. pdf doi doi
Marquez, Blackburn, Mercer, Zigman, Implementing orthogonally persistent Java, in Advances in persistent object systems: Proceedings of the 9th International Workshop on Persistent Object Systems (POS 9), Sep 6–8, 2000, Lillehammer, Norway, 2001. pdf doi doi
He, Blackburn, Kirby, Zigman, Platypus: The design and implementation of a flexible high performance object store., in Advances in persistent object systems: Proceedings of the 9th International Workshop on Persistent Object Systems (POS 9), Sep 6–8, 2000, Lillehammer, Norway, 2001. pdf doi doi
Zigman, Blackburn, Moss, TMOS: A transactional garbage collector, in Advances in persistent object systems: Proceedings of the 9th International Workshop on Persistent Object Systems (POS 9), Sep 6–8, 2000, Lillehammer, Norway, 2001. pdf doi doi
Blackburn, Hudson, Morrison, Moss, Munro, Zigman, Starting with termination: A methodology for building distributed garbage collection algorithms, in Australian Computer Science Conference, Proceedings, Jan 29–31, 2001, Gold Coast, Australia, 2001. pdf doi doi
Marquez, Blackburn, Addressing complexity and scale in a high performance object server, in Succeeding with object databases, 2001. pdf doi
He, Marquez, Blackburn, Opportunistic prioritised clustering framework (OPCF), in Objects and databases, international symposium, sophia antipolis, france, june 13, 2000, proceedings, 2001. pdf doi doi
Marquez, Zigman, Blackburn, Fast portable orthogonally persistent Java, in Software: Practice and Experience, 2000. pdf doi doi
Zigman, Blackburn, Java finalize method, orthogonal persistence and transactions, in Advances in Persistent Object Systems: Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and proceedings of the 3rd International Workshop on Persistence and Java (PJW3), Aug 30–Sep 1, 1998, Tiburon, CA, USA, 1999. pdf doi
Blackburn, Zigman, Concurrency—The fly in the ointment?, in Advances in Persistent Object Systems: Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and proceedings of the 3rd International Workshop on Persistence and Java (PJW3), Aug 30–Sep 1, 1998, Tiburon, CA, USA, 1999. pdf doi
Blackburn, Stanton, The transactional object cache: A foundation for high performance persistent system construction., in Advances in Persistent Object Systems: Proceedings of the 8th International Workshop on Persistent Object Systems (POS8) and proceedings of the 3rd International Workshop on Persistence and Java (PJW3), Aug 30–Sep 1, 1998, Tiburon, CA, USA, 1999. pdf doi
Blackburn, Stanton, Scalable multicomputer object spaces: A foundation for high performance systems, in Third International Working Conference on Massively Parallel Programming Models, Nov 12–14, 1997, London, UK, 1998. pdf doi

My publications are also listed on Google Scholar, dblp, and acmdl.