GT Langages et vérification de programmes (LVP)

Version 3.3 by Alain Giorgetti on 2020/06/05 09:57

Description

De nombreux formalismes, méthodes et outils existent pour accroître la confiance dans le logiciel. Toutefois, leurs limites sont bien connues et il reste encore beaucoup à faire pour relever le défi de la programmation sans bugs. L'objectif principal de ce groupe de travail est de faire progresser la recherche sur ces méthodes formelles, le développement de ces outils, et leur diffusion dans l'industrie, l'enseignement et la recherche.

Pour parvenir à des programmes exempts de bugs, un axe consiste à proposer des langages de programmation plus sûrs et mieux sécurisés, interdisant notamment l'écriture de certaines classes de programmes incorrects. Il est également possible d'étendre les langages de programmation avec des langages de spécification permettant d'exprimer formellement tout ou partie des différents comportements attendus des programmes afin de vérifier la correction de ces derniers vis-à-vis de leurs spécifications ainsi exprimées. En outre, il est aussi possible de développer des programmes corrects par construction.

Par ailleurs, le GT est tout particulièrement concerné par l'application et l'adaptation des techniques et outils existants à divers domaines de la recherche actuelle, dont l'informatique théorique et les mathématiques discrètes TODO AG : continuer ce paragraphe sur l'aide à la formalisation de la
recherche dans divers domaines, en particulier les maths discrètes / combinatoire, selon le défi 9 rédigé sur ce sujet : de la vérification de conjectures à la vérification de programmes
.

Enfin, pour faciliter l'adaption des méthodes et des outils formels, en particulier dans l'industrie, il convient notamment de les diffuser auprès des étudiants des universités et des écoles d'ingénieurs, qui seront les ingénieurs de demain. Il convient ainsi de réfléchir aux meilleures façons de les enseigner afin de faciliter leur adoption.

Les thèmes du groupe de travail sont :

  • La conception de langages de spécification formelle
  • La conception de langages de programmation plus sûrs et mieux sécurisés : systèmes de types, mécanismes de programmation défensive, etc;
  • Le développement de techniques de vérification et de validation à partir de spécifications ou de code : raffinement, preuve de correction, analyses statiques, vérification à  l'exécution, génération automatique de tests, etc;
  • La vérification formelle de conjectures, d'algorithmes et de programmes;
  • La vérification des méthodes et outils de développement et de vérification eux-mêmes : interpréteurs, compilateurs, analyseurs statiques, générateurs de code, générateurs de tests, etc;
  • Les combinaisons de techniques d'analyse statique et dynamique;
  • La diffusion des méthodes formelles dans l'enseignement supérieur et dans l'industrie;

Porteurs du GT

  • Alain Giorgetti, institut FEMTO-ST (UMR CNRS 6174), université de Franche-Comté
  • Julien Signoles, CEA LIST

Animations

Les actions d'animation envisagées sont :

  • Animation du groupe à l'aide d'une liste de diffusion
  • Journées scientifiques annuelles de présentation de travaux récents. En fonction du contexte, elles auront lieu en présentiel ou en visioconférence
  • Animation d'une session lors des journées du GdR
  • Organisation de journées thématiques spécifiques, éventuellement en visioconférence. Un exemple est une journée sur la combinatoire certifiée (développement, formalisation et certification des concepts, des algorithmes et des programmes combinatoires).
  • Stimulation de discussions et d'échanges d'informations entre doctorants et chercheurs permanents

Equipes

 Les équipes impliquées sont :

  • CEA LIST, Laboratoire de Sûreté et de Sécurité des Logiciels, Saclay
    • (à venir) permanents impliqués dans le GT
    • Représentant : Julien Signoles
  • Equipe VESONTIO, FEMTO-ST/DISC, Besançon
    • (à venir) permanents impliqués dans le GT
    • Représentant : Alain Giorgetti
  • (liste en cours d'extension)

(à faire sur la page (https://gdrgpl.myxwiki.org/xwiki/bin/view/Maps/) : positionnement de chaque équipe sur la carte en faisant référence à ce GT dans la description de l'équipe)

Interactions

(TODO : interactions avec d'autres GTs, GDR, d'autres GTs en cours de construction ou reconstruction)

Autres GDRs