Fast and Efficient Cache Behavior Prediction
Christian Ferdinand, Reinhard Wilhelm · 1997
Interpretation Program analysis is a widely used technique to determine runtime properties of a given program without actually executing it. Such information is used for example in optimizing compilers [11] to enable code improving transformations. A program analyzer takes a program as input and computes some program properties. Most of the interesting properties are undecidable, though. Hence, correctness and completeness of the computed information is not achievable together. Program analysis makes no compromise on the correctness side; the computed information has to be reliable for enabling optimizing transformations. It thus can't achieve completeness. The quality of the computed information, usually called its precision, however, should be as good as possible. There is a well developed theory of static program analysis called abstract interpretation [3]. With this theory, correctness of a program analysis can be systematically derived. According to this theory a program analysis...