CacheQuery: learning replacement policies from hardware caches - Vila, Pepe; Ganty, Pierre; Guarnieri, Marco; Köpf, Boris (2020 Programming Language Design and Implementation, 2020)
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.