CacheQuery: learning replacement policies from hardware caches
- Pepe Vila ,
- Pierre Ganty ,
- Marco Guarnieri ,
- Boris Köpf
2020 Programming Language Design and Implementation |
Published by ACM
We show how to infer deterministic cache replacement policies using off-the-shelf automata learning and program synthesis techniques. For this, we construct and chain two abstractions that expose the cache replacement policy of any set in the cache hierarchy as a membership oracle to the learning algorithm, based on timing measurements on a silicon CPU. Our experiments demonstrate an advantage in scope and scalability over prior art and uncover two previously undocumented cache replacement policies.