Building high performance, fully concurrent garbage collectors with confidence
I look at some of the reasons that building modern, high performance GCs is challenging, and at approaches that have been used to try to assure their correctness. I describe an cost-effective approach to assuring correctness, and how we used it to give confidence that our high-performance, fully concurrent, parallel, copying, Transitional Sapphire garbage collector is correct. I will argue that this approach reveals bugs, is easily accessible for programmers and thus, by reducing time spent debugging, provides cost-effective way to develop GCs. I finish by offering some ideas for future research in automatic memory management.
I am Professor of Computer Systems and Head of the School of Computing at the University of Kent, where I am a member of the Programming Languages and Systems research group (https://www.cs.kent.ac.uk/research/groups/plas/). My primary research interests are efficient and correct garbage collection, and rigorous experimental methodologies. I co-founded and was the first Progamme Chair of ISMM in 1998. Author of the Garbage Collection Handbook (http://gchandbook.org).