Last modified by Julien Signoles on 2024/02/07 13:55

From version 3.3
edited by Alain Giorgetti
on 2020/06/05 09:57
Change comment: There is no comment for this version
To version 3.2
edited by Alain Giorgetti
on 2020/06/05 09:53
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,19 +1,38 @@
1 1  = Description =
2 2  
3 -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.
3 +De nombreux formalismes, méthodes et outils existent pour accroître la confiance
4 +dans le logiciel. Toutefois, leurs limites sont bien connues et il reste encore
5 +beaucoup à faire pour relever le défi de la programmation sans bugs. L'objectif
6 +principal de ce groupe de travail est de faire progresser la recherche sur ces
7 +méthodes formelles, le développement de ces outils, et leur diffusion dans
8 +l'industrie, l'enseignement et la recherche.
4 4  
5 -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.
10 +Pour parvenir à des programmes exempts de bugs, un axe consiste à proposer des
11 +langages de programmation plus sûrs et mieux sécurisés, interdisant notamment
12 +l'écriture de certaines classes de programmes incorrects. Il est également
13 +possible d'étendre les langages de programmation avec des langages de
14 +spécification permettant d'exprimer formellement tout ou partie des différents
15 +comportements attendus des programmes afin de vérifier la correction de ces
16 +derniers vis-à-vis de leurs spécifications ainsi exprimées. En outre, il est
17 +aussi possible de développer des programmes corrects par construction.
6 6  
7 -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
8 -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//.
19 +Par ailleurs, le GT est tout particulièrement concerné par l'application et
20 +l'adaptation des techniques et outils existants à divers domaines de la
21 +recherche actuelle, dont l'informatique théorique et les mathématiques discrètes
9 9  
10 -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.
23 +Enfin, pour faciliter l'adaption des méthodes et des outils formels, en
24 +particulier dans l'industrie, il convient notamment de les diffuser auprès des
25 +étudiants des universités et des écoles d'ingénieurs, qui seront les ingénieurs
26 +de demain. Il convient ainsi de réfléchir aux meilleures façons de les enseigner
27 +afin de faciliter leur adoption.
11 11  
12 12  Les thèmes du groupe de travail sont :
13 13  
14 14  * La conception de langages de spécification formelle
15 15  * 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;
16 -* 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;
33 +* Le développement de techniques de vérification et de validation à partir de
34 + spécifications ou de code : raffinement, preuve de correction, analyses statiques, vérification à
35 + l'exécution, génération automatique de tests, etc;
17 17  * La vérification formelle de conjectures, d'algorithmes et de programmes;
18 18  * 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;
19 19  * Les combinaisons de techniques d'analyse statique et dynamique;