Real-time and embedded applications often need to satisfy several non-functional properties such as timing. Consequently, performance validation is a crucial stage before the deployment of real-time and embedded software. Cache memories are often used to bridge the performance gap between a processor and memory subsystems. As a result, the analysis of caches plays a key role in theperformancevalidationofreal-time,embeddedsoftware.Inthis paper, we propose a novel approach to compute the cache performance signature of an entire program. Our technique is based on exploring the input domain through different path programs. Two pathsbelongtothesamepathprogramiftheyfollowthesamesetof control flow edges but may vary in the iterations of loops encountered.Ourexperimentswithseveralsubjectprogramsshowthatthe different paths grouped into a path program have very similar and oftenexactly same cache performance. Ourpathprogram explorationcanbe viewed aspartitioningthe input domain of the program. Each partition is associated with its cache performance and a symbolic formula capturing the set of program inputs which constitutes the partition. We show that such a partitioning technique has wide spread usages in performance prediction, testing, debugging anddesign space exploration
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.