, In particular, one can notice that the ZDD based approach is faster on all significant benchmarks, and that the observed speed-up o en reaches more than 100. More precisely, the average speed-up (geometric mean) is 19.5 in the classical se ings

?. , (q May2 , q 2 )) ? D 2 , ?(q May1 , q 1 ) ? ?(q May2 , q 2 ) ? ?(q May1 ? May q May2, q May1 , q 1 ), vol.1

, q May2 , q 2 )) in D 2 . We show (without loss of generality), that ? ?(q May1 , q 1 ) and b ? Blocks. We have q(b) ? q May1 (b) and q(b) < k ? LastAccess(b, ?) ? q 1 (b), where q = update(q 0 , ?, Proof. Let ((q May1 , q 1 )

, For any trace ? reaching an access A, ? belongs to the concretization of the abstract value (q May , q) associated to A. Proof, vol.113

). ?(q-eh, .. A. ?a-?-access, and ?. ,

, We note T ? = {?.A, ? ? T } and want to show that T ? ? ?(q ? EH , q ? )}, where (q ? EH , q ? ) = update(q EH , q), A), Proof. Let (q EH , q) in D, A in Access and T in ?(q EH , q)

, Let ? ? T such that q(b) ?q EH (b) (with q = update(q 0 , ?)) and A ? ? q(b) ?

). Lastaccess(b,-? and . {a-?-}, Such ? exists by definition of T . Our candidate ? ? is then ?.A. q ? (b) ?q ? EH (b)

?. If-b-=-blk, A), then q ? (b) = {A}. us, A ? ? q ? (b) implies A ? = A and LastAccess(b, ? ? ) = LastAccess(b, ?.A) = {A ? }

?. Else, We then have A ? ? q(b), and LastAccess(b, ?) = {A ? }. Finally, LastAccess(b, ?.A) = LastAccess(b, ?) = {A ? } as desired

, (q EH2 , q 2 )) ? D 2 , ?T 1 ? ?(q EH1 , q 1 ), ?T 2 ? ?(q EH2

S. Arora and B. Barak, Computational Complexity -A Modern Approach, 2009.

M. Alt, C. Ferdinand, F. Martin, and R. Wilhelm, Cache behavior prediction by abstract interpretation, Static Analysis, ird International Symposium, SAS'96, vol.1145, pp.52-66, 1996.

H. Al-zoubi, A. Milenkovic, and M. Milenkovic, Performance evaluation of cache replacement policies for the SPEC CPU2000 benchmark suite, Proceedings of the 42nd Annual Southeast Regional Conference, pp.267-272, 2004.

S. Altmeyer, C. Maiza, and J. Reineke, Resilience analysis: tightening the CRPD bound for set-associative caches, Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, pp.153-162, 2010.

A. Abel and J. Reineke, Reverse engineering of cache replacement policies in intel microprocessors and their evaluation, 2014 IEEE International Symposium on Performance Analysis of Systems and So ware, pp.141-142, 2014.

C. Ballabriga and H. Cassé, Improving the first-miss computation in setassociative instruction caches, 20th Euromicro Conference on Real-Time Systems, pp.341-350, 2008.

C. Ballabriga, H. Cassé, C. Rochange, and P. Sainrat, OTAWA: an open toolbox for adaptive WCET analysis, So ware Technologies for Embedded and Ubiquitous Systems -8th IFIP WG 10.2 International Workshop, SEUS 2010, vol.6399, pp.35-46, 2010.
URL : https://hal.archives-ouvertes.fr/hal-01055378

D. J. Bernstein, Cache-timing a acks on AES, 2005.

C. Berg, PLRU cache domino effects, 6th International Workshop on Worst-Case Execution Time Analysis (WCET'06), vol.4, 2006.

E. M. Clarke, A. Biere, R. Raimi, and Y. Zhu, Bounded model checking using satisfiability solving, Formal Methods in System Design, vol.19, issue.1, pp.7-34, 2001.

P. Cousot and R. Cousot, Abstract interpretation: A unified la ice model for static analysis of programs by construction or approximation of fixpoints, Conference Record of the Fourth ACM Symposium on Principles of Programming Languages, pp.238-252, 1977.

E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith, Counterexample-guided abstraction refinement, Computer Aided Verification, 12th International Conference, vol.1855, pp.154-169, 2000.

A. Canteaut, C. Lauradoux, and A. Seznec, Understanding cache a acks, INRIA, 2006.

P. Cousot, Méthodes itératives de construction et d'approximation de points fixes d'opérateurs monotones sur un treillis, analyse sémantique de programmes. èse d'étatès sciences mathématiques, 1978.

A. Sudipta-cha-opadhyay and . Roychoudhury, Scalable and precise refinement of cache timing analysis via model checking, Proceedings of the 32nd IEEE Real-Time Systems Symposium, RTSS 2011, pp.193-203, 2011.

A. Sudipta-cha-opadhyay and . Roychoudhury, Symbolic verification of cache side-channel freedom, 2018.

R. Michael, F. B. Clarkson, . Schneider, and . Hyperproperties, Proceedings of the 21st IEEE Computer Security Foundations Symposium CSF 2008, Pi sburgh, Pennsylvania, pp.51-65, 2008.

G. Doychev, B. Köpf, L. Mauborgne, and J. Reineke, CacheAudit: A Tool for the Static Analysis of Cache Side Channels, ACM Trans. Inf. Syst. Secur, vol.18, issue.1, pp.1-32, 2015.

E. , A. Emerson, and E. M. Clarke, Using branching time temporal logic to synthesize synchronization skeletons, Sci. Comput. Program, vol.2, issue.3, pp.241-266, 1982.

E. , A. Emerson, and J. Y. Halpern, sometimes" and "not never" revisited: On branching versus linear time, Conference Record of the Tenth Annual ACM Symposium on Principles of Programming Languages, pp.127-140, 1983.

. +-16]-heiko, S. Falk, P. Altmeyer, B. Hellinckx, W. Lisper et al., Taclebench: A benchmark collection to support worst-case execution time research, 16th International Workshop on Worst-Case Execution Time Analysis, WCET 2016, vol.55, pp.1-2, 2016.

D. Griffin, B. Lesage, A. Burns, and R. I. Davis, Lossy compression for worst-case execution time analysis of PLRU caches, 22nd International Conference on Real-Time Networks and Systems, RTNS'14, p.203, 2014.

N. Guan, M. Lv, W. Yi, and G. Yu, WCET analysis with MRU cache: Challenging LRU for predictability, ACM Trans. Embedded Comput. Syst, vol.13, issue.4s, 2014.

D. Grund and J. Reineke, Abstract interpretation of FIFO replacement, Static Analysis, 16th International Symposium, vol.5673, pp.120-136, 2009.

D. Grund and J. Reineke, Toward precise PLRU cache analysis, 10th International Workshop on Worst-Case Execution Time Analysis, WCET 2010, vol.15, pp.23-35, 2010.

N. Guan, X. Yang, M. Lv, and W. Yi, FIFO cache analysis for WCET estimation: a quantitative approach, EDA Consortium, vol.13, pp.296-301, 2013.

L. Bach-khoa-huynh, A. Ju, and . Roychoudhury, Scope-aware data cache analysis for WCET estimation, 17th IEEE Real-Time and Embedded Technology and Applications Symposium, pp.203-212, 2011.

R. Heckmann, M. Langenbach, S. , and R. Wilhelm, e influence of processor architecture on the design and the results of WCET tools, Proceedings of the IEEE, vol.91, issue.7, pp.1038-1054, 2003.

R. Heckmann, M. Langenbach, S. , and R. Wilhelm, e influence of processor architecture on the design and the results of WCET tools, Proceedings of the IEEE, vol.91, issue.7, pp.1038-1054, 2003.

L. John, D. A. Hennessy, and . Pa-erson, Computer Architecture -A antitative Approach, 2012.

B. Sheldon and . Akers, Binary decision diagrams, IEEE Trans. Computers, vol.27, issue.6, pp.509-516, 1978.

]. N. +-15, M. Kurd, E. Chowdhury, T. P. Burton, C. Omas et al., Haswell: A family of ia 22 nm processors, IEEE Journal of Solid-State Circuits, vol.50, issue.1, pp.49-58, 2015.

D. E. Knuth, Art of Computer Programming: Combinatorial Algorithms, vol.4, issue.1, 2011.

J. Kelsey, B. Schneier, D. Wagner, and C. Hall, Side channel cryptanalysis of product ciphers, J. Comput. Secur, vol.8, issue.2, pp.141-158, 2000.

M. Lv, N. Guan, W. Yi, Q. Deng, and G. Yu, Efficient instruction cache analysis with model checking. RTAS, work-in-progress session, 2010.

P. Omas-lundqvist and . Stenström, Timing anomalies in dynamically scheduled microprocessors, 20th IEEE Real-Time Systems Symposium (RTSS), 1999.

L. Omas, A WCET Analysis Method for Pipelined Microprocessors with Cache Memories, 2002.

F. Martin, M. Alt, R. Wilhelm, and C. Ferdinand, Analysis of loops, Compiler Construction, 7th International Conference, CC'98, Held as Part of the European Joint Conferences on the eory and Practice of So ware, ETAPS'98, vol.1383, pp.80-94, 1998.

K. L. Mcmillan, Symbolic model checking, 1993.

. Shin-ichi-minato, Zero-suppressed bdds for set manipulation in combinatorial problems, Proceedings of the 30th Design Automation Conference, pp.272-277, 1993.

. Shin-ichi-minato, Zero-suppressed bdds and their applications, Int. J. on So ware Tools for Technology Transfer (STTT), vol.3, issue.2, pp.156-170, 2001.

A. Mishchenko, An introduction to zero-suppressed binary decision diagrams, 2014.

A. Malamy, R. N. Patel, and N. M. Hayes, Methods and apparatus for implementing a pseudo-lru cache memory replacement scheme with a locking feature. US patent 5,353,425, US Patent Office, 1994.

L. Mauborgne and X. Rival, Trace partitioning in abstract interpretation based static analyzers, 14th European Symposium on Programming, vol.3444, pp.5-20, 2005.

F. Nielson, Hanne Riis Nielson, and Chris Hankin. Principles of program analysis, 1999.

A. Pnueli, e temporal logic of programs, 18th Annual Symposium on Foundations of Computer Science, pp.46-57, 1977.

J. Reineke, A definition and classification of timing anomalies, 6th International Workshop on Worst-Case Execution Time Analysis (WCET), 2006.

J. Reineke, Caches in WCET Analysis: Predictability -Competitiveness -Sensitivity, 2009.

, Reineke. e semantic foundations and a landscape of cache-persistence analyses, LITES, vol.5, issue.1, 2018.

J. Reineke, D. Grund, C. Berg, and R. Wilhelm, Timing predictability of cache replacement policies. Real-Time Systems, vol.37, pp.99-122, 2007.

J. Reineke, D. Grund, C. Berg, and R. Wilhelm, Timing predictability of cache replacement policies. Real-Time Systems, vol.37, pp.99-122, 2007.

C. Rochange and P. Sainrat, A context-parameterized model for static analysis of execution times, Trans. HiPEAC, vol.2, pp.222-241, 2009.

B. +-06]-jan-reineke, S. E. Wachter, R. Wilhelm, I. Polian, J. Eisinger et al., A definition and classification of timing anomalies, OASICS. Internationales Begegnungs-und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, vol.4, 2006.

J. Walter and . Savitch, Relationships between nondeterministic and deterministic tape complexities, J. Comput. Syst. Sci, vol.4, issue.2, pp.177-192, 1970.

F. Somenzi and A. R. Bradley, IC3: where monolithic and incremental meet, International Conference on Formal Methods in Computer-Aided Design, FMCAD '11, pp.3-8, 2011.

F. Somenzi, Efficient manipulation of decision diagrams, Int J. So ware Tools for Technology Transfer (STTT), vol.3, issue.2, pp.171-181, 2001.

S. Tsb, A. Mir, and S. Vijayalakshmi, Highly efficient lru implementations for high associativity cache memory, 2019.

A. Tarski, A la ice-theoretical fixpoint theorem and its applications, Pacific J. Math, vol.5, issue.2, pp.285-309, 1955.

W. A. Wulf and S. A. Mckee, Hi ing the memory wall: Implications of the obvious, SIGARCH Comput. Archit. News, vol.23, issue.1, pp.20-24, 1995.

W. Zhang, F. Gong, L. Ju, N. Guan, and Z. Jia, Scope-aware useful cache block analysis for data cache related preemption delay, 2017 IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS 2017, Pi sburg, pp.63-74, 2017.

, une analyse de pire-cas. Nousévaluons donc la complexité des problèmes de classification des accès mémoire sous différentes politiques de remplacement

, En revanche, les accès classés comme Definitely Unknown sont une conséquence du programme analysé et de la configuration du cache. Ces accès ne peuvent pasêtre raffinés en Always-Hit ou Always-Miss, quelque soit la méthode employée. Nous proposons donc une analyse similaire aux analyses May et Must, capable d'approximer l'ensemble des accès Definitely Unknown pour la politique LRU et sous l'hypothèse que tous les chemins sont exécutables. Analyse de cache exacte Finalement, l'incertitude résultant d'une classification imprécise des accès mémoire peut impacter fortement les analyses de WCET (Worst Case Execution Time -temps d'exécution dans le pire cas). Par exemple, il est important de connaître avec précision le comportement du cache lorsque l'on chercheà analyser le comportement d'un processeur superscalaire et/ou avec pipeline. En effet, lorsque l'analyse de cache n'est pas capable de classer un accès mémoire comme Always-Hit ou Always-Miss, l'analyse de pipeline doit envisager les deux possibilités, menantéventuellementà une explosion du nombre d'état de pipelineà analyser. L'imprécision de l'analyse de cache peut donc avoir deux conséquences distinctes sur l'analyse de WCET : (a) une surestimation du véritable pire temps d'exécution, par exemple en cas de classification trop grossière d'accès qui en réalité mènentà des hits, Accès Mémoires Definitely Unknown Comme mentionné précédemment, les analyses comme May et Must présentées dans [AFMW96] reposent sur des approximations pour classer des accès commeAlways-Miss ou Always-Hit. Dans ce e configuration, les analyses de cache ne donnent aucune informations concernant les autres accès (non classés)

, Améliorer la précision des analyses de caches est donc important dans le contexte de l'analyse de WCET, mais ces améliorations doiventêtre réalisable pour un coût raisonnable

, Ce e thèse s'intéresseà la possibilité de réaliser des analyses de cache de précision optimale sous l'hypothèse que tous les chemins sont faisables. Les problèmes de classification d'accès mémoires en hits et miss y sont définis formellement et nous prouvons qu'ils sont NP-difficiles, voire PSPACE-difficiles, pour les politiques de remplacement usuelles (LRU, FIFO, NMRU et PLRU). Toutefois, si ces résultats théoriques justifient l'utilisation d'abstractions supplémentaires, ils n'excluent pas l'existence d'un algorithme efficace en pratique pour des instances courantes dans l'industrie. Les abstractions usuelles ne perme ent pas, en général, de classifier tous les accès mémoires en Always-Hit et Always-Miss. Certains sont alors classifiés Unknown par l'analyse de cache, et peuvent aboutirà des cache-hits commeà des cache-miss selon le chemin d'exécution emprunté. Cependant, il est aussi possible qu'un accès soit classifié comme Unknown alors qu'il mène toujoursà un hit (ou un miss),à cause d'une approximation trop grossière. Nous proposons donc une nouvelle analyse de cache d'instructions LRU, capable de classifier certains accès comme Definitely Unknown, une nouvelle catégorie représentant les accès pouvant menerà un hit ouà un miss. On est alors certain que la classification de ces accès est due au programme età la configuration du cache, et pasà une approximation peu précise. Par ailleurs, ce e analyse réduit le nombre d'accès candidatsà une reclassification par des analyses plus précises mais plus coûteuses. Notre principale contribution est une analyse capable de produire une classification de précision optimale. Celle-ci repose sur une méthode appelée block focusing qui permet le passageà l'échelle en analysant les blocs de cache un par un, la certification de programmes temps-réel nécessite de borner leur temps d'exécution. Les mémoires caches impactant fortement la latence des accès mémoires, les outils de calcul de pire temps d'exécution incluent des analyses de cache

, En fournissant une classification plus précise des accès mémoires, nous réduisons donc la taille de l'espace d'états de pipeline exploré, et donc le temps de l'analyse. Par ailleurs, ce e thèseétudie la possibilité d'utiliser l'analyse Definitely Unknown dans le domaine de la sécurité. Les mémoires caches peuventêtre utilisées comme canaux cachés pour extraire des informations de l'exécution d'un programme