Abstract
Concurrent garbage collectors are notoriously hard to design, implement, and verify. We present a framework for the automatic exploration of a space of concurrent mark-and-sweep collectors. In our framework, the designer specifies a set of "building blocks" from which algorithms can be constructed. These blocks reflect the designer's insights about the coordination between the collector and the mutator. Given a set of building blocks, our framework automatically explores a space of algorithms, using model checking with abstraction to verify algorithms in the space. We capture the intuition behind some common mark-and-sweep algorithms using a set of building blocks. We utilize our framework to automatically explore a space of more than 1,600,000 algorithms built from these blocks, and derive over 100 correct fine-grained algorithms with various space, synchronization, and precision tradeoffs.
Original language | English |
---|---|
Pages (from-to) | 456-467 |
Number of pages | 12 |
Journal | ACM SIGPLAN Notices |
Volume | 42 |
Issue number | 6 |
State | Published - Jun 2007 |
Keywords
- Concurrent algorithms
- Concurrent garbage collection
- Synthesis
- Verification