La spécification et la mise au point de systèmes concurrents est un problème réputé particulièrement ardu, et occasionne des bugs « dormants » difficiles à débusquer par des campagnes de test traditionnelles. Le langage de spécification TLA+ propose un formalisme mathématique fondé sur une logique modale, permettant de décrire de façon non ambigüe les évolutions possibles et les propriétés souhaitées d'un système, logiciel ou matériel. Associé à un model checker (TLC), il constitue un outil remarquablement efficace pour la mise au point et le déverminage de systèmes concurrents, avant même le prototypage.
L'objectif de ce stage, après s'être familiarisé avec TLA+ et les outils associés (TLC, PlusCal), sera de modéliser différents algorithmes de synchronisation utilisés pour implémenter le micro-noyau temps-réel d'ASTERIOS, dans le but d'en proposer une vérification formelle : communication inter-processus, synchronisations inter-coeurs, ordonnancement. Selon l'avancement, l'utilisation d'un assistant de preuve (TLAPS) pourra être envisagé pour élaborer des preuves formelles de propriétés de sûreté.
En fin de cursus Bac+5, spécialisé-e en informatique, vous êtes intéressé-e par la sûreté de fonctionnement, et les applications des méthodes formelles pour la vérification de programmes. Plus généralement, vous avez un intérêt pour les fondements théoriques de l'informatique, et la formalisation mathématique de problèmes algorithmiques.
Compétences demandées :
• Sens de la communication,
• Rigueur,
• Travail d'équipe.
Ces entreprises recrutent aussi au poste de “Développement de logiciels et de sites Web”.
Le Plessis-Robinson
Évry-Courcouronnes