Mots clés : méthodes formelles; spécifications formelles; vérification de programmes; analyses statiques; analyses dynamiques; génération de test; programmation sûre; raffinement; assistants de preuve; preuve automatique; dissémination des méthodes formelles

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

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 qui souhaitent rejoindre notre GT peuvent contacter les porteurs à tout moment.

Les équipes académiques impliquées sont :

EquipeLaboratoireLocalisationReprésentantPermanents
Laboratoire de Sûreté et de Sécurité des Logiciels (LSL)CEA LISTPalaiseauJulien Signoles20
DISC/VESONTIOInstitut FEMTO-STBesançonAlain Giorgetti3
ACADIEIRITToulouseJan-Georg Smaus7
ACESLTCI, Télécom ParisPalaiseauFlorian Brandner1
APRLIP6ParisAntoine Miné3
CambiumInria ParisParisFrançois Pottier2
CASHLIPLyonMatthieu Moy6
CeltiqueIRISARennesThomas Jensen8
CRI (Centre de Recherche en Informatique)CRI, Mines ParisTechFontainebleauOlivier Hermant2
DTISONERAToulouse & PalaiseauDavid Chemouil4
GALaCLISNOrsayFlorent Hivert1
IGXLIMPoitiersLaurent Fuchs3
IGGICubeStrasbourgJulien Narboux5
II (Informatique Interactive)ENACToulouseCélia Picard7
Spécification et Vérification de SystèmesLACLCréteilFrédéric Gava1
LMVLIFOOrléansFrédéric Dabrowski3
LoVeLIPNVilletaneuseMicaela Mayero8
MaRELLIRMMMontpellierDavid Delahaye1
METHODESSAMOVAREvryCatherine Dubois6
PARKASDI ENSParisMarc Pouzet4
PartoutLIX & Inria SaclaySaclayGabriel Scherer1
SYSCEDRICParisPierre Courtieu3
VALSLMFGif-sur-YvetteJean-Christophe Filliâtre10
VeriDisInria Nancy & LORIANancyStephan Merz8
VérificationIRIFParisMihaela Sighireanu1

Les acteurs industriels sont :

EntrepriseEquipeLocalisationReprésentantPermanents
Adacore ParisClaire Dross9
ANSSILaboratoire Sécurité du LogicielParisPatricia Mouy4
Edukera Neuilly-sur-SeineBenoît Rognier1
Huawei Paris Research Center ParisGaétan Hains3
Mitsubishi Electric R&D Centre EuropeInformation and Network Systems (INS)RennesDavid Mentré4
Nomadic Labs ParisJulien Tesson15
ThalesLSEC/Méthodes FormellesPalaiseauNikolai Kosmatov3

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

Les interactions du GT LVP avec d'autres GTs ayant des sujets d'intérêt communs auront essentiellement lieu lors de journées communes. Celles-ci pourraient notamment mettre l'accent sur une thématique spécifique intéressant les deux GTs. Les interactions auront également lieu à une échelle plus individuelle : plusieurs chercheurs de notre GT participent également à un (voire plusieurs) GT(s) mentionné(s) ici.

GTs du GDR GPL

  • GT CLAP : Compilation, Langages, Analyses, Parallélisme (journée thématique possible : compilation certifiée)
  • GT GLIA : Génie Logiciel et Intelligence Artificielle (journée thématique possible : preuve assistée par l'IA)
  • GT HiFi : Méthodes Formelles et Programmation Haute Fidélité pour Systèmes Critiques Émergents (journée thématique possible : spécification formelle de systèmes ouverts)
  • GT MTV2 : Méthodes de Test pour la Validation et la Vérification (journée thématique possible : combinaison d'analyses statiques et dynamiques)

Autres GDRs

  • GDR IM, dont son GT SCALP : Structures formelles pour le CALcul et les Preuves (journée thématique possible : théorie et pratique de la preuve de programmes)
  • GDR Sécurité, dont son GT "Méthodes formelles pour la sécurité" (journée thématique possible : vérification de programmes pour la sécurité)
Tags: