journée des groupes de travail LaMHA/LTP- Automne 2017

mercredi 11 octobre 2017
Université Pierre et Marie Curie
Rotonde 26, 1er étage, couloir 26-25, porte 105
Accès Campus Jussieu

Programme de la journée

9h Accueil
9h30 Antoine Miné, conférencier invité icone pdf Vérification par interprétation abstraite des logiciels embarqués concurrents.

Les méthodes formelles sont de plus en plus fréquemment employées pour s'assurer de la correction des logiciels critiques. Parmi ces méthodes, l'interprétation abstraite est bien adaptée à une utilisation industrielle car elle permet la construction d'analyseurs statiques capables d'inférer des propriétés de programmes directement sur le code source, de manière automatique, approchée (pour gagner en efficacité) et néanmoins sûre (par l'utilisation de sur-approximations). Néanmoins, peu d'analyseurs savent traiter de manière sûre les logiciels concurrents, car ils nécessitent de prendre en compte un nombre très grand d'entrelacements d'exécutions.

Dans cet exposé, nous présenterons AstréeA, une extension aux logiciels embarqués concurrents de l'analyseur Astrée, conçu originellement pour la certification de l'absence d'erreur à l'exécution dans des logiciels embarqués C synchrone.

Nous présenterons en particulier notre méthode d'analyse modulaire thread-à-thread permettant de sur-approximer efficacement tous les entrelacements possibles, les abstractions utilisées pour inférer les interactions entre threads, la prise en compte des mécanismes de priorités utilisés dans les systèmes temps-réels, et nos expériences d'analyse de logiciels avioniques concurrents.

10h30 Pause café
11h Alix Trieu presentation Alix Trieu format HTML Validation Vérifiée de Traduction d'Analyses Statiques

Motivated by applications to security and high efficiency, we propose an automated methodology for validating on low-level intermediate representations the results of a source-level static analysis. Our methodology relies on two main ingredients: a relative-safety checker, an instance of a relational verifier which proves that a program is “safer” than another, and a transformation of programs into defensive form which verifies the analysis results at runtime. We prove the soundness of the methodology, and provide a formally verified instantiation based on the Verasco verified C static analyzer and the CompCert verified C compiler. We experiment with the effectiveness of our approach with client optimizations at RTL level, and static analyses for cache-based timing side-channels and memory usage at pre-assembly levels.

11h30 Frédéric Dabrowski Textual Alignment in SPMD Programs
12h Gabriel Scherer icone pdf Speculative optimisation without fear

JIT compilers for dynamic langage crucially rely on *speculative* optimizations, that generate code under optimistic assumptions that may be invalidated later during the program run. The generated code contains dynamic tests (guards) to check that the hypotheses hold, and enough information to de-optimize (bail out) when they fail.
It is not easy for implementers to determine which optimizations remain correct on code that contains guards and de-optimization points.We designed a toy language to serve as a model of existing JIT implementations, a bytecode with an explicit bailout instruction, to study the correctness of code transformations in this setting.

Les compilateurs Just-in-time (JIT) pour langages dynamiques reposent de façon essentielle sur les optimisations *spéculatives*, qui consistent à générer du code sous des hypothèses optimistes qui peuvent être contredites pendant l'exécution du programme. Le code généré contient des tests dynamiques les hypothèses sont valides, et des informations pour dé-optimiser (bail out) si les tests échouent.
Nous avons conçu un petit langage pour servir de modèle des implémentations JIT existantes, avec une instruction spécifique de déoptimisation, afin de pouvoir étudier la correction des optimisations classiques en présence de points de déoptimisation: quelles sont les transformations de programme qui restent valides ?

12h30 Déjeuner
Royal Jussieu, 1 rue des écoles
14h Ronan Keryell, Conférencier invité SYCL C++ for heterogeneous computing: from single-source modern C++ down to FPGA
15h Pause
15h15 Pierre Leca icone pdf Objets actifs pour BSP
15h45 Timothy Bourke icone pdf Un compilateur vérifié pour Lustre

Les langages synchrones sont utilisés pour programmer des logiciels de contrôle-commande d'applications critiques. On s'intéresse ici à la formalisation et la preuve, dans l'assistant de preuve Coq, d'un générateur de code impératif pour un noyau du langage Lustre. Nous spécifions et vérifions un générateur de code simple qui gère les traits principaux de Lustre: l'échantillonnage, les nœuds et les délais. Le générateur intègre le compilateur CompCert pour produire un code assembleur qui calcule successivement les valeurs spécifiées par le modèle sémantique flot de données. Les garanties offertes par CompCert nous permettent d'étendre notre théorème de correction sur toute la chaîne de compilation des programmes Lustres jusqu'à l'assembleur.

Ce travail est fait en collaboration avec Lélio Brun, Pierre-Évariste Dagand, Xavier Leroy, Marc Pouzet et Lionel Rieg.

16h15 Arvid Jakobsson icone pdf Automatic Cost Analysis for Imperative BSP programs

Bulk Synchronous Parallel (BSP) is a model for parallel computing with predictable scalability. BSP has a cost model: programs can be assigned a cost which describes its behavior on any parallel machine. However, the programmer has to manually derive this cost. This paper describes an automatic method for the derivation of BSP program costs, based on classic cost analysis and approximation of polyhedral integer volumes. Our method requires and analyzes programs with textually aligned synchronization and textually aligned, polyhedral communication. We obtain cost-formulas that are parametric in the input parameters of the program and the parameters of the BSP computer.

16h45-18h Pot et discussions

Inscription

Gratuites mais obligatoires, les inscriptions sont normalement closes mais il reste quelques places, Si vous souhaitez assister à la journée, envoyez un email à l'adresse julien.tesson#lacl.fr (remplacez # par @).

Accès

Contact

LTP

Sandrine Blazy
Sylvain Conchon
alain giorgetti

LaMHA

Mathias Bourgoin
julien tesson

Organisation Locale

Emmanuel Chailloux
Thuy Dodo