Main | EJCP2024 | Édition précédente (2023) | About | Contact |
Édition 2024 (17 au 21 juin 2024)
L’édition 2024 de l’école aura lieu à Argelès-sur-Mer (Pyrénées Orientales), au Village Club Azureva. Elle est organisée par le laboratoire LAMPS de l’Université de Perpignan Via Domitia.
Parmi les nouveautés cette année, un TP sera réalisé par un intervenant industriel local.
Les frais d’inscription comprennent le logement ainsi que les repas en pension complète.
Inscriptions
**Attention : date limite d’inscription le 17 mai 2024 **
Les frais d’inscription incluent l’hébergement en chambre individuelle ainsi que l’ensemble des repas en pension complète pour la durée du séjour (repas du lundi matin au vendredi midi inclus, le repas du dimanche 16 au soir n’est pas inclus). Deux options sont proposées :
- Arrivée le lundi 17 juin au matin : 450 euros
- Arrivée le dimanche 16 juin au soir : 550 euros
Les inscriptions sont ouvertes : Les inscriptions se font par bon de commande adressé à Université de Perpignan Via Domitia, 52 avenue Paul Alduy, 66860 Perpignan. Ils doivent indiquer les noms et prénoms des participants. Les bons de commande doivent être envoyés à ejcp24@univ-perp.fr.
Comment venir
L’adresse de l’école est :
Azureva Argelès-sur-Mer
Route de Valmy
66700 ARGELES SUR MER
Il est possible de se rendre à Argelès-sur-Mer directement en train ou en bus depuis la gare de Perpignan (LIGNE 540 Banyuls-sur-Mer/Perpignan).
Programme
Les cours ainsi que les TP/TD de l’après midi auront lieu sur place, au Village Azureva. Pour les TP, les participants utiliseront leur ordinateur personnel.
Lundi 17 juin 2024
-
10h00-12h00 - Mesurer la consommation énergétique : du matériel au code source logiciel, Adel Noureddine (Université de Pau et des Pays de l’Adour) La mesure de l’énergie logicielle est une étape importante pour comprendre et analyser la consommation énergétique, optimiser le code et écrire un code éco-conçu. Dans ce cours, nous détaillons la mesure énergétique logicielle en partant de la mesure des appareils (ordinateurs et serveurs, smartphones, SBC et objets IoT) et des composants matériels (CPU notamment), et en remontant les couches applicatifs jusqu’au code source. En particulier, nous analyserons les approches permettant à diagnostiquer l’énergie d’une application en mesurant ses méthodes et ses branches d’exécution au runtime.
-
13h30-16h30 - TP : Dans ce TP, nous analyserons et comparons la consommation énergétique de différents appareils et composants matériels, ainsi que des applications, et du code source des applications Java (méthodes, branches d’exécution).
-
Bio : Adel Noureddine est maître de conférences HDR à l’Université de Pau et des Pays de l’Adour (UPPA). Il a obtenu son HDR en février 2024 à l’UPPA et sa thèse en mars 2014 à l’Université de Lille et à Inria. Il travaille dans le domaine du Green IT et du génie logiciel, des systèmes autonomiques, des systèmes cyber-physiques et des études comportementales autour du logiciel.
Mardi 18 juin
-
9h00-12h00 - Automated Program Repair, Martin Monperrus (KTH Royal Institute of Technology, Stockholm) In this lecture, we’ll discuss about the foundations, challenges and current state-of-the-art of automated program repair. We’ll discuss the different families of techniques (generate-and-validate, template, learning, symbolic) and how they can be used in the software development process.
-
13h30-16h30 - TP : The students will run a program repair tool and analyze the results. At the end, you’ll present to the rest of the groups the inner working and the expected input and output format.
-
Bio : Martin Monperrus is Professor of Software Technology at KTH Royal Institute of Technology, Sweden. His research lies in the field of software engineering with a current focus on automatic program repair, AI on code and program hardening. He received a Ph.D. from the University of Rennes, and a Master’s degree from Compiègne University of Technology.
Mercredi 19 juin
-
9h00-12h00 Formal Methods for Machine Learning Pipelines, Caterina Urban (INRIA-ENS PSL) Formal methods offer rigorous assurances of correctness for both hardware and software systems. Their use is well established in industry, notably to certify safety of critical applications subjected to stringent certification processes. With the rising prominence of machine learning, the integration of machine-learned components into critical systems presents novel challenges for the soundness, precision, and scalability of formal methods. This lecture serves as an introduction to formal methods tailored for machine learning pipelines, highlighting their strengths and limitations. We will present several approaches through the lens of different software properties and targeting software across all phases of a machine learning pipeline, with a focus on abstract interpretation-based techniques. We will then conclude by offering perspectives for future research directions in this evolving context.
-
13h30-16h30 - TP : TBA
-
Bio : Caterina is a research scientist in the Inria research team ANTIQUE (ANalise StaTIQUE), working on static analysis methods and tools to enhance the reliability and our understanding of data science and machine learning software. She is Italian and studied for her Bachelor’s (2009) and a Master’s (2011) degree in Computer Science at the University of Udine. She then moved to France and completed her Ph.D. (2015) in Computer Science, working under the supervision of Radhia Cousot and Antoine Miné at École Normale Supérieure. Before joining Inria (2019), she was a postdoctoral researcher at ETH Zurich in Switzerland.
Jeudi 20 juin
-
9h00-12h00 - Analyse statique/dynamique des applications HPC, Emmanuelle Saillard (INRIA Bordeaux) Afin de résoudre les plus grands problèmes scientifiques en un temps raisonnable, les applications sont parallélisées et lancées sur des supercalculateurs. Cependant, ces supercalculateurs sont de plus en plus complexes et puissants, ce qui entraine une évolution des applications (ex., nouveaux algorithmes pour le passage à l’échelle, combinaison de modèles de programmation parallèle) qui lève de nombreux défis de programmation et un réel besoin d’outils et techniques pour aider les développeurs et développeuses à utiliser au mieux les différentes machines et architectures à leur disposition. En effet, à grande échelle, les développeurs et développeuses d’applications font face à de nouvelles erreurs, liées au parallélisme, souvent difficiles à analyser et corriger. Aujourd’hui, s’assurer que les applications parallèles s’exécutent correctement devient aussi important que d’obtenir de bonnes performances. Dans ce cours, je présenterai les différentes méthodes qui existent pour vérifier qu’un code parallèle est correcte, avec un focus sur le modèle de programmation parallèle MPI. Ensuite, nous verrons comment une analyse statique/dynamique est un bon compromis pour de l’analyse de code.
-
13h30-16h30 - TP : Mise en pratique du cours avec l’utilisation de l’outil PARCOACH et la création d’une nouvelle analyse statique basée sur le compilateur LLVM.
-
Bio : Emmanuelle Saillard est chargée de recherche au centre Inria de l’Université de Bordeaux. Ses travaux de recherche s’orientent autour du HPC (calcul haute performance), et plus particulièrement sur le développement de méthodes permettant d’aider les développeurs à écrire des applications parallèles de manière correcte et efficace.
Vendredi 21 juin
-
9h00-12h00 - Compilation d’un langage synchrone avec contraintes de ressources, Tim Bourke (INRIA-ENS PSL) Les langages synchrones, tels que Lustre et Scade, sont utilisés pour programmer les logiciels de contrôle les plus critiques. Ces logiciels sont souvent conçus comme un ensemble de plusieurs centaines de composants qui s’exécutent à diverses périodes et qui doivent respecter des contraintes temps réel imposées entre les entrées et les sorties du système. Certains de ces logiciels sont implémentés en générant un code séquentiel en vue d’une exécution périodique sur un processeur embarqué. Dans ce cas, c’est un compilateur qui doit trouver un équilibre entre la quantité de calcul à effectuer à chaque cycle d’exécution et les contraintes temps réel. Récemment, nous avons étudié une approche utilisée chez Airbus pour laquelle nous avons développé une extension de Lustre capable d’exprimer directement les caractéristiques temps réel. Cette extension est compilée en trois temps. D’abord, le compilateur analyse le programme et produit un programme linéaire en nombres entiers. Ensuite, un solveur externe est utilisé pour chercher une solution qui satisfait toutes les contraintes. Enfin, le compilateur se sert de cette solution pour générer un code séquentiel en utilisant une généralisation du schéma de compilation modulaire habituel.
-
13h30-15h30 - TP : Dans ce cours, vous apprendrez les bases des langages synchrones et les détails d’une approche industrielle pour leur application dans un logiciel temps réel. Dans la partie pratique, vous utiliserez OCaml et un programme linéaire en nombres entiers pour transformer un programme source en un code séquentiel.
-
Bio :
Quelques adresses à et autour d’Argelès-sur-Mer
- Les nombreuses plages d’Argelès-sur-Mer
- Allée Jules Aroles à Argelès-Plage (nombreux commerces, bars et restaurants)
- Port-Argelès (nombreux commerces, bars et restaurants)
- Centre ville d’Argelès-sur-Mer (nombreux commerces)
- Parc du Chateau de Valmy
- Plage du Racou (une des plus belles de la région, quelques bars et restaurants)
- Ville de Collioure (à 5 km d’Argelès, train ou bus)
- Les criques de Paulilles
Comité d’organisation
- Matthieu Martel (LAMPS, Université de Perpignan Via Domitia)
- Dorra Ben Khalifa (ENAC, Toulouse)
Pour plus d’information concernant l’EJCP24, vous pouvez écrire à matthieu.martel@univ-perp.fr ou à dorra.ben-khalifa@enac.fr.