* Clément Ballabriga - Calcul paramétrique de limites de boucles sur des programmes binaires Traditionellement, l'estimation de pire temps d'exécution (WCET) par analyse statique calcule, à partir d'un programme, un résultat sous forme d'un temps fixe. Toutefois, le temps d'exécution dépend de divers paramètres (état matériel, données en entrée, etc). Le calcul de WCET paramétrique permet de tenir compte de ces dépendences, et d'obtenir, au lieu d'un WCET fixe, une formule qui exprime ce WCET en fonction des paramètres. En pratique, le calcul de WCET paramétrique est intéressant pour diverses raisons, telles que la réutilisation des composants, ou le calcul dynamique du WCET lors de l'exécution. Parmi les divers paramètres dont dépendent le temps d'exécution d'un programme, il nous a semblé judicieux de s'intéresser aux bornes de boucles (et à leur relation aux données d'entrée du programme), car le nombre maximal d'itération des boucles d'un programme a un gros impact sur son temps d'exécution. Il peut être intéressant d'appliquer certaines techniques issues du monde de la compilation, dans le cadre de l'estimation paramétrique des bornes de boucles. En particulier, l'interprétation abstraite utilisant le domaine des polyèdres nous semble intéressante car elle permet d'exprimer facilement les relations linéaires qui pourraient exister entre les bornes de boucles et les entrées du programme. Nous avons également résolu certaines difficultés propre à l'analyse de code binaire par ces méthodes. Ceci est un work in progress, mais les résultats expérimentaux préliminaires montrent plusieurs améliorations (performance, précision) par rapport aux analyses décrites dans la littérature du WCET. * Erven Rohou - Traceability of Flow Information: Reconciling Compiler Optimizations and WCET Estimation joint work with Hanbing Li, Isabelle Puaut, published at RTNS Real-time systems have become ubiquitous. For this class of systems, correctness implies not only producing the correct result, but also doing so within specified timing constraints. Designers are required to obtain the worst-case execution time (WCET) of their systems to guarantee that all applications meet their time constraints. Many WCET estimation methods have been proposed. They operate through static code analysis, measurements, or a combination of both. Such methods give an upper bound of the time required to execute a given task on a given hardware platform. To be useful, WCET estimates have to be as tight as possible. Information on possible flows of control (the so-called flow information) improves the tightness of WCET estimates. Flow information, should it be produced automatically or be inserted manually from annotations, is typically inserted at source code level. On the other hand, WCET analysis is performed at machine code level. Between these two levels, compiler optimizations may have a dramatic effect on the structure of the code, resulting in a loss of useful information. For this reason, many WCET tools for real-time systems turn off compiler optimizations when computing WCET. In this paper, we propose a framework to trace and maintain flow information from source code to machine code to benefit from optimizations, yet improving the WCET estimates. Our implementation in the LLVM compiler shows that we can improve the WCET of Mälardalen benchmarks by 60% in average, and up to 86%. We also provide new insight on the impact of existing optimizations on the WCET. * Claire Maiza - Timing analysis on multi-core: where are the challenges due to shared ressources? how the compiler may help to address them? In this presentation we will some examples of interferences on shared ressources in multi-core. We will see how these interferences are hard to model by timing analysis. The current timing analysis for hard real-time tasks on multi-core platform must reduce the number of interferences. With a set of examples, we will see how the compiler may help reducing the number of interferences. * Hugues Cassé Intégration des événements temporels dans le calcul du WCET Mot-clés : IPET, ILP, analyse du matériel, calcul du temps de bloc Web : http://www.otawa.fr L'approche IPET (Implicit Path Enumeration Technique) s'est imposée pour le calcul du WCET par analyse statique. Elle consiste à exprimer le WCET en programmation linéaire entière comme la fonction à optimiser et à représenter le programme et les effets du matériel sur le temps d'exécution sous forme d'un ensemble de contraintes. En partant de cette base, il existe de nombreuses variations sur l'ensemble des analyses permettant d'obtenir le WCET à partir du programme en binaire et sur les manières de calculer le temps de chaque bloc constituant le programme. De nombreuses analyses sont dévolues aux mécanismes d'accélération de l'exécution en dehors du pipeline du microprocesseur à proprement parler. Une liste non-exhaustive inclut les différents niveaux de cache (dédiés instructions, données ou unifiés) ainsi que les mécanisme de prefetch de mémoires lentes comme le flash. Ces mécanismes sont conçus pour fournir de bonnes performances (ce qu'on appelle des hit pour le cache) en moyenne ce qui veut dire que, parfois, le temps d'accès peut être plus long (les miss du cache). L'analyse du mécanisme a alors pour rôle de déterminer le nombre maximum des ces temps longs. Du point de vue de l'exécution des blocs dans le pipeline, ces temps longs s'expriment sous forme de blocage d'une instruction dans un étage du pipeline et leur survenue est appelée un événement. Ainsi, un bloc d'instruction pourra être soumis à 1 ou plusieurs événements, souvent indépendants, qui représentent autant de configurations temporelles du pipeline et potentiellement autant de temps d'exécution différents pour un bloc donnée. Cela induit, dans le système linéaire entier, une multiplication des variables et de la complexité de résolution. Après avoir présenté l'approche IPET et les analyses de mécanisme d'accélération, cet exposé montrera le système d'événement utilisée dans l'outil OTAWA et les prémisses de solution pour réduire la complexité lors de la résolution du WCET. * Claire Pagetti Compilation WCET-aware de programmes synchrones L'implantation de systèmes de contrôle-commande requiert une bonne connaissance du processus de développement et une maîtrise complète du code généré. Dans cette présentation, nous nous concentrerons sur la compilation de programmes C générés à partir de spécifications en Lustre et Prelude. Nous avons intégré dans le compilateur WCC (WCET-aware Compiler de TUHH) une génération de code dédié sur une architecture multi-coeur ARM.