Model Checking Copy Phases of Concurrent Copying Garbage Collection with Various Memory Models
Modern concurrent copying garbage collection (GC), especially real-time GC, employ fine-grain synchronisations with mutators, which are application programs that mutate memory, when they move objects in their copy phases. They resolve a data-race using concurrent copying protocols, which are implemented as interactions between the collectors and the read and write barriers that the mutators execute. Behavioural effects of the concurrent copying protocol relies on the memory model of the CPUs and the programming languages in which the GC is implemented. It is hard, however, to formally investigate behavioural properties of concurrent copying protocols against various memory models.
To address this problem, we studied the feasibility of bounded model checking of concurrent copying protocols with memory models. We investigated a correctness-related behavioural property of copying protocols of various concurrent copying GC algorithms including real-time GC Stopless, Clover, Chicken, Staccato, and Schism against six memory models, TSO, PSO, RMO, and their variants as well as sequential consistency by using bounded model checking. For each combination of a protocol and a memory model, we conducted model checking with a model of a mutator. In this wide range of case studies, we found faults in two GC algorithms, one of which is relevant to the memory model. We fixed these faults with great help of counterexamples. We also modified some protocols so that they works correctly under some memory models weaker than the ones that the original protocols are designed for, and checked them by using model checking. We believe that bounded model checking is a feasible approach to investigate behavioural properties of concurrent copying protocols under weak memory models.
Wed 25 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | |||
13:30 22mTalk | Sound Gradual Typing: Only Mostly Dead OOPSLA Spenser Andrew Bauman Indiana University, USA, Sam Tobin-Hochstadt Indiana University, Jeremy G. Siek Indiana University, USA, CF Bolz-Tereick DOI | ||
13:52 22mTalk | Sound Gradual Typing Is Nominally Alive and Well OOPSLA DOI | ||
14:15 22mTalk | The VM Already Knew That: Leveraging Compile-Time Knowledge to Optimize Gradual Typing OOPSLA Gregor Richards University of Waterloo, Ellen Arteca University of Waterloo, Canada, Alexi Turcotte University of Waterloo DOI | ||
14:37 22mTalk | Model Checking Copy Phases of Concurrent Copying Garbage Collection with Various Memory Models OOPSLA Tomoharu Ugawa Kochi University of Technology, Japan, Tatsuya Abe Chiba Institute of Technology, Japan, Toshiyuki Maeda Chiba Institute of Technology, Japan DOI |