GT Langages et vérification de programmes (LVP)

Version 13.1 by Alain Giorgetti on 2020/06/10 09:37
Warning: For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

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, de raffiner des spécifications formelles, et de synthétiser des parties de programmes ou de spécification, comme des invariants de boucle, à partir d'autres éléments formels.

Par ailleurs, le GT est tout particulièrement concerné par l'application et l'adaptation des techniques formelles existantes à divers domaines de la recherche actuelle, dont l'informatique théorique et les mathématiques discrètes. Pour être plus largement adoptée, la formalisation de concepts et de conjectures dès leur conception doivent être valorisés par des vérifications rapides (telles que le test automatisé), qui facilitent l'élaboration de théories et préparent des vérifications plus longues mais plus complètes (telles que des preuves formelles). Un domaine propice est la combinatoire, dont certains objets, théorèmes et algorithmes se prêtent bien à la formalisation, mais dont la pratique n'exploite pas encore toute la panoplie des méthodes formelles.

Enfin, pour faciliter l'adoption 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, et de réfléchir aux meilleures façons de les enseigner.

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 académiques impliquées sont :

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [gdrgpl:Main.GTs.GT Langages et vérification de programmes (LVP).WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.

EquipeLaboratoireLocalisationResponsablePermanents
Laboratoire de Sûreté et de Sécurité des LogicielsCEA LISTSaclayJulien Signoles19
DISC/VESONTIOInstitut FEMTO-ST/DISCBesançonAlain Giorgetti3
ACADIEIRITToulouseJan-Georg Smaus7
ACESLTCI, Télécom ParisPalaiseauFlorian Brandner1
LMVLIFOUniversité d'OrléansFrédéric Dabrowski3
MaRELLIRMMMontpellierDavid Delahaye1
PARKASDI ENSParisMarc Pouzet4
VeriDisInria Nancy & LORIANancyStephan Merz8

Les acteurs industriels sont : (à venir)

(à 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

GTs du GDR GPL

  • GT HiFi (Méthodes Formelles et Programmation Haute Fidélité pour Systèmes Critiques Émergents)
  • GT MTV2 (Méthodes de Tests pour la Validation et la Vérification)

Autres GDRs