• DocumentCode
    2834677
  • Title

    Relational Cache Analysis for Static Timing Analysis

  • Author

    Hahn, Sebastian ; Grund, Daniel

  • Author_Institution
    Saarland Univ., Saarbrücken, Germany
  • fYear
    2012
  • fDate
    11-13 July 2012
  • Firstpage
    102
  • Lastpage
    111
  • Abstract
    Static cache analysis is an indispensable part of static timing analysis, which is employed to verify the timing behaviour of programs in safety-critical real-time systems. State-of-the-art cache analyses classify memory references as `always hit´, `always miss´, or `unknown´. To do so, they rely on a preceding address analysis that tries to determine the referenced addresses. If a referenced address is not determined precisely, however, those cache analyses cannot predict this reference as hit or miss. On top of that, information about other cache contents is lost upon such references. We present a novel approach to static cache analysis that alleviates the dependency on precise address analysis. Instead of having to argue about concrete addresses, we only need to argue about relations between referenced addresses, e.g. `accesses same memory block´ or `maps to different cache set´. Such relations can be determined by congruence analyses, without precise knowledge about the actual addresses. The subsequent cache analysis then only relies on relations to infer cache information and to classify references. One advantage of this approach is that hits can be predicted for references with imprecisely determined addresses, even if there is no information about accessed addresses. In particular, this enables the prediction of hits for references whose addresses depend on an unknown stack pointer or even depend on the program input. Relational cache analysis is always at least as precise as the corresponding state-of-the-art cache analysis. Furthermore, we demonstrate significant improvements for three classes of program constructs.
  • Keywords
    cache storage; program diagnostics; real-time systems; safety-critical software; address analysis; always hit memory references; always miss memory references; cache contents; cache information; cache set; congruence analyses; memory block; memory reference classification; preceding address analysis; program timing behaviour; reference classification; relational cache analysis; safety-critical real-time systems; stack pointer; state-of-the-art cache analyses; static cache analysis; static timing analysis; unknown memory references; Abstracts; Approximation methods; Context; Hardware; Program processors; Timing; Upper bound; Congruence Analysis; LRU Replacement; Static Cache Analysis; WCET Analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Real-Time Systems (ECRTS), 2012 24th Euromicro Conference on
  • Conference_Location
    Pisa
  • ISSN
    1068-3070
  • Print_ISBN
    978-1-4673-2032-0
  • Type

    conf

  • DOI
    10.1109/ECRTS.2012.14
  • Filename
    6257563