The complexity gap in the static analysis of cache accesses grows if procedure calls are added - Archive ouverte HAL
Article Dans Une Revue Formal Methods in System Design Année : 2022

The complexity gap in the static analysis of cache accesses grows if procedure calls are added

David Monniaux

Résumé

The static analysis of cache accesses consists in correctly predicting which accesses are hits or misses. While there exist good exact and approximate analyses for caches implementing the least recently used (LRU) replacement policy, such analyses were harder to find for other replacement policies. A theoretical explanation was found: for an appropriate setting of analysis over control-flow graphs, cache analysis is PSPACE-complete for all common replacement policies (FIFO, PLRU, NMRU) except for LRU, for which it is only NP-complete. In this paper, we show that if procedure calls are added to the control flow, then the gap widens: analysis remains NP-complete for LRU, but becomes EXPTIME-complete for the three other policies. For this, we improve on earlier results on the complexity of reachability problems on Boolean programs with procedure calls. In addition, for the LRU policy we derive a backtracking algorithm as well as an approach for using it as a last resort after other analyses have failed to conclude.
Fichier principal
Vignette du fichier
Monniaux_stack_cache_complexity_article.pdf (290.45 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03545774 , version 1 (27-01-2022)

Identifiants

Citer

David Monniaux. The complexity gap in the static analysis of cache accesses grows if procedure calls are added. Formal Methods in System Design, 2022, 59 (1-3), pp.1-20. ⟨10.1007/s10703-022-00392-w⟩. ⟨hal-03545774⟩
955 Consultations
99 Téléchargements

Altmetric

Partager

More