44
Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Embed Size (px)

Citation preview

Page 1: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Interprétation abstraiteet validation de logiciels critiques

Matthieu Martel

Page 2: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Systèmes embarqués

Systèmes embarqués : Systèmes informatiques (logiciel+matériel) conçus pour être intégrés dans des objets industriels

Page 3: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Systèmes embarqués

Quelques caractéristiques :

Systèmes électroniques et informatiques autonomes,

sans entrées ni sorties standard (clavier et écran)

Capacités limitées (puissance de calcul, autonomie, mémoire, etc.)

Difficilement modifiables après livraison

Contraintes de coûts :

• coût de développement (petites séries, ex : avion)

économies d’échelle (grandes séries, ex : téléphone)

Page 4: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Systèmes critiques

Systèmes critiques : systèmes embarqués dont une panne peut être catastrophique (conséquences humaines, financières)

Page 5: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Missile Patriot (1991)

Compteur (temps) : 1/10 ajouté tous les dixièmes de seconde

En binaire :

1/10 = 1/24 + 1/25 + 1/28 +... = 0.00011001100

Codé sur 24 chiffres binaires (bits) :

erreur = 9.5 × 10-8

Au bout de 100 heures :

100 x 3600 × 10 × 9.5 × 10-8 = 0.34 secondes

• Vitesse du Scud : 1676 ms-1

Erreur > 500 mètres

Page 6: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Ariane 5 (1996)

Après un décollage normal la fusée a eu un comportement nominal jusqu'à la 36ème secondes de vol. Puis les systèmes de référence inertielle (SRI) ont été simultanément déclarés défaillants. Sur la base d'informations de diagnostic du SRI traitées comme des instructions de vol, le calculateur de bord a provoqué le braquage en butée des tuyères des boosters, puis du moteur Vulcain d'Ariane 5 qui jusque là suivait parfaitement sa trajectoire de vol. C'est ce braquage intempestif des moteurs qui faisant brusquement basculer le lanceur l'a amené à se briser sous les efforts aérodynamiques et à exploser en vol, peu avant sa destruction télécommandée. Le SRI n'a pas transmis de données correctes parce qu'il était victime d'une erreur d'opérande trop élevée du "biais horizontal" de la fonction d'alignement interne de la centrale. Le calcul de cette variable est lié à la vitesse horizontale détectée par la plate-forme inertielle. Or, sur Ariane 5, l'accélération au décollage est beaucoup plus forte que sur Ariane 4, et la vitesse horizontale s'accroît cinq fois plus rapidement. La variable a donc dépassé la plage des valeurs autorisée par le logiciel de vol. La fonction d'alignement qui reste active environ 40 secondes après est une exigence d'Ariane 4 mais n'a aucune utilité sur Ariane 5. Elle a cependant été maintenue pour des raisons de commodité. La fonction comprend sept variables dont seulement quatre sont protégées. Lors de la conception, il n'avait pas été jugé nécessaire de protéger le calculateur contre un arrêt de fonctionnement dû à une valeur excessive de la variable lié à la vitesse horizontale. Cette décision a été prise sans que l'on analyse ou comprenne parfaitement les valeurs que cette variable pourrait prendre lorsque la fonction d'alignement est autorisée à fonctionner après le décollage.

QuickTime™ et undécompresseur

sont requis pour visionner cette image.

Page 7: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Coupure électrique (2003)

Environ 50 millions de personnes touchées dans le nord-est américain

Cause : hasard de course (race condition) :

solde s?solde s?

si possible retirer x

si possible retirer x

modifier s : s-x

modifier s : s-x

1000€

1000€

1000€

1000€

retirer

x=600

retirer

x=600

retirer x=60

0

retirer x=60

0

400€400€ -200€

-200€

compte commun

Page 8: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Autres “bugs” célèbres

Mars climate orbiter (1999) : confusion entre systèmes métrique et impérial (125 millions de dollars)

USS Yorktown (1998) : erreur d’un opérateur qui saisit la valeur zéro. ÷ par zéro et propagation de l’erreur. Bateau arrêté en pleine mer quelques heures

Pentium (1994) : erreur dans la division. Coût : environ 475 millions dollars

5505001 ÷ 294911 ➙ 18.66600093 ≠ 18.66665197x = 4195835, y = 3145727 z = x-(x ÷ y) × y ➙ 256 ≠ 0

Page 9: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

“Bugs” : classification

Opérations illicites (USS Yorktown) :

1÷0 √-1

Dépassements de capacité (Ariane 5) :

entiers souvent entre -32767 32767

6900 × 5 = +∞

Erreurs d’arrondi (Patriot) :

1/10 = 0.00011001100

• Synchronisations (coupure électrique)

hasards de course

• Autres : spécifications (Pentium, Mars orbiter), accès mémoire, etc.

Page 10: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Sûreté de fonctionnement

Nécessité de garantir le bon fonctionnement des systèmes critiques!

Sûreté : absence de comportement indésirable

l’airbag ne se déclenche pas sans raison

Vivacité : bon comportement du système (plus difficile à établir)

l’airbag se déclenche en cas d’accident

Page 11: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Quelques ordres de grandeur

Avion : O(100000) LOCs, O(1000) variables, heures

Voiture : O(10000) LOCS

ATV (Galileo) : O(1000000) LOCs, jours

Centrale nucléaire : mois

static const NUM TRANSF2_B06_C2 = -1.362407E+00;static const NUM TRANSF2_B06_C3 = 7.830931E-01;static const NUM TRANSF2_B06_C4 = 1.362407E+00;static const NUM TRANSF2_B06_C5 = -6.844878E-01;static const NUM LIM_A1_E2 = 8.000000E+00;static const NUM LIM_A1_E3 = -8.000000E+00;static const NUM K_A2_E2 = -6.236000E-01;static const NUM AFFECT_N_1_E1 = 2.000000E+00;static const NUM SWITCH_N_E93_E1 = 3.500000E+00;static const NUM SWITCH_N_A6_E1 = 0.000000E+00;static const BOO AFFECT_B_1_E1 = FALSE;static NUM PADN5;/*Mod JS*//*SUB(1,PLDQCMMMOY,PDQMM,X611Z01)*/SUB(1,PDQCMMMOY,PDQMM,X611Z01)/*SUB(1,PDQCMMMOY,0,X611Z01)*//*Fin Mod JS*/K(A1,X611Z01,K_A1_E2,X611Z02)AFFECT_B(1,AFFECT_B_1_E1,BOFFACS1)TRANSF2(B06,X611Z02,X611Z02,X611Z02,BOFFACS1,X611Z17,TRANSF2_B06_C1, \ TRANSF2_B06_C2,TRANSF2_B06_C3,TRANSF2_B06_C4,TRANSF2_B06_C5)LIM(A1,X611Z17,LIM_A1_E2,LIM_A1_E3,PLEPS)ADD(2,PFOSV,PLEPS,X611Z16)K(A2,PDQMM,K_A2_E2,X611Z03)AFFECT_N(1,AFFECT_N_1_E1,X611Z04)INVNUM(1,X611Z04,PADN5)LIM(A2,X611Z03,X611Z04,PADN5,X611Z05)ADD(3,X611Z16,X611Z05,SANO1)

static const NUM TRANSF2_B06_C2 = -1.362407E+00;static const NUM TRANSF2_B06_C3 = 7.830931E-01;static const NUM TRANSF2_B06_C4 = 1.362407E+00;static const NUM TRANSF2_B06_C5 = -6.844878E-01;static const NUM LIM_A1_E2 = 8.000000E+00;static const NUM LIM_A1_E3 = -8.000000E+00;static const NUM K_A2_E2 = -6.236000E-01;static const NUM AFFECT_N_1_E1 = 2.000000E+00;static const NUM SWITCH_N_E93_E1 = 3.500000E+00;static const NUM SWITCH_N_A6_E1 = 0.000000E+00;static const BOO AFFECT_B_1_E1 = FALSE;static NUM PADN5;/*Mod JS*//*SUB(1,PLDQCMMMOY,PDQMM,X611Z01)*/SUB(1,PDQCMMMOY,PDQMM,X611Z01)/*SUB(1,PDQCMMMOY,0,X611Z01)*//*Fin Mod JS*/K(A1,X611Z01,K_A1_E2,X611Z02)AFFECT_B(1,AFFECT_B_1_E1,BOFFACS1)TRANSF2(B06,X611Z02,X611Z02,X611Z02,BOFFACS1,X611Z17,TRANSF2_B06_C1, \ TRANSF2_B06_C2,TRANSF2_B06_C3,TRANSF2_B06_C4,TRANSF2_B06_C5)LIM(A1,X611Z17,LIM_A1_E2,LIM_A1_E3,PLEPS)ADD(2,PFOSV,PLEPS,X611Z16)K(A2,PDQMM,K_A2_E2,X611Z03)AFFECT_N(1,AFFECT_N_1_E1,X611Z04)INVNUM(1,X611Z04,PADN5)LIM(A2,X611Z03,X611Z04,PADN5,X611Z05)ADD(3,X611Z16,X611Z05,SANO1)

Page 12: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Exemple de fonctionnalité : l’ATV

Page 13: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Inflation du logiciel

L'avion qui "bat des ailes" a fédéréde nombreux chercheurs

L'excitation qui règne chez Airbus est également perceptible dans les laboratoires qui collaborent au projet. En posant des problèmes inédits, le futur géant du ciel représente un défi pour les scientifiques. [...]

L'effet A380 dépasse largement le cadre régional. Il touche l'ensemble de l'Europe et met à contribution des laboratoires qui n'ont pas forcément de relations avec l'aéronautique. C'est le cas de l'Ecole normale supérieure (ENS) de Paris, où Patrick Cousot, professeur d'informatique, anime une équipe de sept personnes travaillant sur le projet Astrée (associant le CNRS, l'ENS et Polytechnique). "L'ordinateur possède des limitations, explique M. Cousot. Lorsqu'une valeur est codée sur 5

chiffres, la machine ne peut accepter des nombres de taille supérieure, et elle les tronque." D'où des erreurs fatales, comme celle qui a conduit à la perte du contrôle de la fusée Ariane 5 le 4 juin 1996.

Face à l'inflation galopante de la taille des logiciels embarqués sur les avions de ligne (20 000 lignes de code pour l'A320, 120 000 pour l'A340, près de 500 000 pour l'A380), la recherche de telles erreurs devient critique. "Nous sommes capables d'établir la preuve mathématique qu'un programme comme celui de la commande de vol de l'A380 ne comprend pas de bogues liés à la limite des capacités de l'ordinateur" , rassure M. Cousot. Une information précieuse pour la fiabilité de l'A380, même s'il est prévu d'autres sécurités comme l'exécution redondante des programmes par plusieurs ordinateurs en parallèle. L'équipe de M. Cousot a d'ores et déjà établi un record : "L'A380 dispose du plus gros programme jamais "prouvé" dans le monde."

Article paru dans l'édition du 27.04.05

Page 14: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Exemple de programme

Données :

•point U=(x,y)

•ensemble de points V0,V1,...,Vn-1 tels que Vi=(xi,yi), 0 ≤ i≤ n-1

Résultat : distance d du point Vi le plus éloigné de U

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

Données :

•point U=(x,y)

•ensemble de points V0,V1,...,Vn-1 tels que Vi=(xi,yi), 0 ≤ i≤ n-1

Résultat : distance d du point Vi le plus éloigné de U

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

Page 15: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Interprétation

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

i = d =d’ =

00

9.2195449.2195441

8,062257

2

Page 16: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Analyse de sûreté du programme

Opérations illicites 1÷0 √-1

Dépassements de capacité a × b = +∞

Erreurs d’arrondi 1/10 = 0.00011001100

Synchronisations hasards de course impossible dans ce cas

Autres : erreurs restantes non traitéi = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

Page 17: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Absence d’erreur?

Impossibilité de tester tous les scenarii possibles!

Si l’on ne considère que les points correspondant à un écran d’ordinateur :

coordonnées entières

abscisses entre 0 et 1023

ordonnées entre 0 et 767

13 points uniquement (figure)

(1024*768)13> 4.4 ⋅1076

possibilités!

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

Page 18: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Absence d’erreur?

(1024*768)13> 4.4 ⋅1076

possibilités!

Processeur à 3 GigaHertz

3⋅109 opérations/seconde

moins de 109 tests/seconde

4.4 ⋅1065 secondes

=

plus de 1058 années

Page 19: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Outil mathématique : ordres partiels

Ordre total : relation ≤ telle que pour tous x et y :

x ≤ y ou y ≤ x

Ordre partiel : relation ≤ telle que pour tous x et y :

x ≤ y ou y ≤ x ou ni l’un ni l’autre

Page 20: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Outil mathématique : majorants

Majorant d’une partie P : élément plus grand que tous les éléments de P

Page 21: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Outil mathématique : treillis complets

Treillis complet T :

ensemble avec ordre partiel

tout sous-ensemble de T admet un plus petit majorant

Page 22: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Exemple : le treillis des signes

Représentation simplifiée des entiers relatifs

a ≤ b si a est un sous-ensemble de b dans Z

T (top) correspond à Z

⊥ (bottom) correspond à l’ensemble vide ∅

Page 23: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Autre exemple : le treillis des intervalles

Page 24: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Opérations dans le treillis des signes

Addition Multiplication

Page 25: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Interprétation abstraite

Abstraction des valeurs de manière à pouvoir considérer un grand nombre de scenarii à la fois

Interprétation du programme avec les valeurs abstraites afin de valider simultanément tous les scenarii considérés

étude “macroscopique” du comportement du

programme

Exemple :

le treillis des signe

Page 26: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Abstraction - concrétisation

0

0

abstraction α

concrétisation γ

Page 27: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Interprétation abstraite de programme

(x,y) = ( , ) n=

xi =

yi =

i =

d =

tant que i ≤ n-

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+

(x,y) = ( , ) n=

xi =

yi =

i =

d =

tant que i ≤ n-

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+

i = d =d’ =

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

α

γ

i= ≤ n - =√(( - )2+( - )2)

√( 2+ 2)=

√( 2+ 2)

= =√( + ) √

=Pas d’opération illicite

∪ =

Valeurs stabilisées(point fixe)

Jamais d’opération illicite

Page 28: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Récapitulatif

Propriété démontrée :

Absence d’opération illicite (racines carrées) - propriété de sûreté

Pour un nombre quelconque de points

Pour des coordonnées quelconques (≠0)

Démonstration :

Entièrement mécanique (automatisable)

Obtenue par calcul d’un point fixe (stabilisation de toutes les données possibles en tout point du programme)

Page 29: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Outil mathématique : point fixe

Point fixe d’une fonction f : point x tel que f(x)=x

Page 30: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Outil mathématique : fonction croissante

Fonction croissante : si x ≤ y alors f(x) ≤ f(y)

Exemple : la fonction valeur absolue est croissante dans le treillis des signes

Page 31: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Théorème de Tarski (1955)

Théorème : soit T un treillis complet et

f : T → T

une fonction croissante. f admet un plus petit point fixe

Page 32: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Théorème de Tarski (1955)

Théorème : soit T un treillis complet et

f : T → T

une fonction croissante. f admet un plus petit point fixe

Page 33: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Théorème de Tarski (1955)

Théorème : soit T un treillis complet et

f : T → T

une fonction croissante. f admet un plus petit point fixe

Page 34: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Théorème de Tarski (1955)

Théorème : soit T un treillis complet et

f : T → T

une fonction croissante. f admet un plus petit point fixe

Page 35: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Théorème de Tarski (1955)

Théorème : soit T un treillis complet et

f : T → T

une fonction croissante. f admet un plus petit point fixe

Page 36: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Théorème de Tarski (1955)

Théorème de Tarski : existence d’un plus petit point fixe

Théorème de Kleene : indique comment le calculer

Page 37: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Analyse de sûreté du programme

Opérations illicites 1÷0 √-1 prouvé (signes)

Dépassements de capacité a × b = +∞

Erreurs d’arrondi 1/10 = 0.00011001100

Synchronisations hasards de course impossible dans ce cas

Autres : erreurs restantes non traitéi = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

Page 38: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Dépassements de capacité : treillis des intervalles

abstraction α

concrétisation γ

[ ]

[a, b] + [c, d] = [a+c, b+d][a, b] - [c, d] = [a-d, b-c]

[a, b]×[c,d] =[min(ac,ad,bc,bd), max(ac,ad,bc,bd)]

[a, b] + [c, d] = [a+c, b+d][a, b] - [c, d] = [a-d, b-c]

[a, b]×[c,d] =[min(ac,ad,bc,bd), max(ac,ad,bc,bd)]

Page 39: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Interprétation abstraite par intervalles

(x,y) = ([7,7],[4,4]) n=[12,12]

xi = [-4,15]

yi = [-7,11]

i = [0,0]

d = [0,0]

tant que i ≤ n-[1,1]

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+[1,1]

(x,y) = ([7,7],[4,4]) n=[12,12]

xi = [-4,15]

yi = [-7,11]

i = [0,0]

d = [0,0]

tant que i ≤ n-[1,1]

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+[1,1]

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

(x,y) = (7,4) n=12

xi = 9,15,-4,-3,2,11,...

yi = 11,5,2,9,-3,-7,...

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

α

γ

(xi-x)2 toujours dans [-11,8]2=[64,121](yi-y)2 toujours dans [-11,7]2=[49,121]

pas de dépassement sur 8 bits (entiers entre -127 et 127)Résultats :

Page 40: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Analyse de sûreté du programme

Opérations illicites 1÷0 √-1 prouvé (signes)

Dépassements de capacité a × b = +∞ prouvé (intervalles)

Erreurs d’arrondi 1/10 = 0.00011001100

Synchronisations hasards de course impossible dans ce cas

Autres : erreurs restantes non traitéi = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

i = 0

d = 0

tant que i ≤ n-1

d’ = √((xi-x)2+(yi-y)2)

si d’>d alors d = d’

i = i+1

Page 41: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Erreurs d’arrondi : risques

√((xi-x)2+(yi-y)2)

Racine carrée pas toujours présente/précise

matériellement (hors IEEE754)

Racine carrée pas toujours présente/précise

matériellement (hors IEEE754)

Elimination catastrophique : si a≈b, a et b légèrement erronés, a-b très imprécisElimination catastrophique : si a≈b, a et b légèrement erronés, a-b très imprécis

Absorption : si a>>b alors a+b=a

ex : 1.0+1.0e-8=1.0 en arithmétique IEEE754 simple

précision

Absorption : si a>>b alors a+b=a

ex : 1.0+1.0e-8=1.0 en arithmétique IEEE754 simple

précision

Il existe des méthodes de validation par interprétation abstraite

Page 42: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Autres treillis numériques

Page 43: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Conclusion

Sûreté des systèmes embarqués :

Partie importante du développement pouvant représenter jusqu’à 80% du coût

Partie intégrante du métier de concepteur, nombreux débouchés dans les grands groupes industriels

Ingénieur sûreté de fonctionnement junior H/FEntreprise: PSA Peugeot CitroënSalaire : Sans objetIngénieur sûreté de fonctionnement junior h/f logiciel, système, et organique/mécatronique La Direction... méthodes et les outils a tous les stades du cycle de vie du produit. Vous prenez en charge les études sûreté de fonctionnement... contraintes jusqu'au dossier de justification sûreté de fonctionnement. Vous analysez les réponses fournisseurs en vérifiant... méthodologique lié aux études et participez au club Sûreté de Fonctionnement. Expérience: Not SpecifiedConditions: Voir la description pour plus de détailContrat: CDI / CNE

02/07/2008

Page 44: Interprétation abstraite et validation de logiciels critiques Matthieu Martel

Conclusion

Licence info

Licence info

Programmation

en Ada (L1)

Programmation

en Ada (L1)

Logique (L1)Logique (L1)

Programmation en langage

C (L2)

Programmation en langage

C (L2)

Intelligence Artificielle (L2)Intelligence

Artificielle (L2)

Qualité numérique

(L3)

Qualité numérique

(L3)

Compilation (L3)

Compilation (L3)

Masters pro ou recherche, écoles d’ingénieurs, etc.