Precise, efficient, and context-sensitive cache analysis

Research output: Contribution to journalArticlepeer-review

Abstract

Bounding the Worst-Case Execution Time (WCET) of real-time software requires precise knowledge about the reachable program and hardware states that might be observed at runtime. The analysis of precise cache states is particularly important and challenging. Due to the high cost of cache misses the analysis precision may have an important impact on the obtainable WCET bounds, while the large state space of the cache’s history leads to high analysis complexity. This work explores the use of cache summaries in order to optimize the computation of precise cache states. These cache summaries allow us to pre-compute the impact of executing a portion of a program, typically a function, on the cache state. This allows us, for instance, to skip the analysis of entire functions (including nested function calls) when the cache states within these functions are not relevant for the classification of memory accesses into hits/misses. Furthermore, the summaries can be extended to efficiently compute fully context-sensitive cache states. The summaries then not only allow to derive typical cache hit/miss classifications, but also provide fully context-sensitive cache persistence information.

Original languageEnglish
Pages (from-to)36-84
Number of pages49
JournalReal-Time Systems
Volume58
Issue number1
DOIs
Publication statusPublished - 1 Mar 2022

Keywords

  • Cache analysis
  • Cache persistence
  • Cache summaries
  • Conflict sets
  • LRU cache replacement
  • Worst-case execution time

Fingerprint

Dive into the research topics of 'Precise, efficient, and context-sensitive cache analysis'. Together they form a unique fingerprint.

Cite this