A fast and efficient cache persistence analysis
Christian Ferdinand · Publications of the UdS (Saarland University) · 1997
In this paper, abstract interpretation is applied to the problem of predicting the cache behavior of programs. The goal of our analysis is to apporximate the set of all cache states for each program point, i.e., the collecting of semantics. We take a two step approach: First, we define an auxiliary semantics of machine programs called the cache semantics that determines the contents of caches. Then, from the cache semantics one simple analysis by abstract interpretation is deleloped that allowes to determine memory blocks that will be persistent in the cache. This is in contrast to former approaches [1, 6] that required two different analyses and specific interprocedural analysis methods. The persistence analysis is designed generic with the cache logic as parameter. Experimental results are presented that demonstrate the applicability of the analysis.