17
Métrologie du logiciel Mise en œuvre du processus ‘Mesures et Analyses’ du CMMI et analyses d’aptitude

Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Embed Size (px)

Citation preview

Page 1: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Métrologie du logiciel

Mise en œuvre du processus ‘Mesures et Analyses’ du CMMI

et analyses d’aptitude

Page 2: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Agenda

• Présentation de Asetechs Conseil 5mn• Le besoin 10 mn• Service ‘Mesures et Analyses’ proposé 10 mn• Système de mesures (norme ISO/IEC 15939) 10 mn• Démonstration 30 mn

• Offre 10 mn• Questions et réponses 15 mn

Page 3: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Asetechs : Conseil ‘Qualité Processus Logiciel’ et Editeur ‘Métrologie’

• Asetechs Conseil (Europe), TPME de haute technologie– Créée en 2001.

• 8 personnes dont 4 PhD (coopération depuis 1985).

– Anciens chercheurs du Watson Research Center (Usa) et du GMD (De)

• analyse statique des codes et analyse sémantique• Métrologie SEI et détection de défauts des logiciels• Concepteur et éditeur du ‘Compiler Generator Kit’ (1985-2007)

• De la suite logiciel KRIS (voir ci-contre)

• Une clientèle composée de grands comptes :• Caisse Epargne (Arpège), Air France, AXA France,

PMU, Y.Rocher, UBS, Dresdner Bank, Siemens, France Telecom, CapGemini, Thalès, Unilog, …

• Deux activités• Conseils:

• Assistance Maîtrise d’Ouvrage• Conception et mise en œuvre de processus Mesures et

Analyses des logiciels• Aide à la sélection des mesures, indicateurs et système

de diagnostics pour le contrôle qualité du logiciel

• Maîtrise d’Oeuvre• Réalisation d’audits métrologiques• Mise en œuvre et exploitation Bases ‘Mesures &

Analyses’• Ingéniérie : développement de solutions pour les

mesures et les rénovations

• Logiciels : Cartographie, Inspection et Métrologie• KRIS REpository, • KRIS Code Reviewer/Normalizer • KRIS Audit Expert

Page 4: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

2 exemples d’opérations de métrologie

Client : Arpège (2006)

• Problématique– Recherche exhaustive du Code Caisse pour normalisation

• Démarche– Analyse sémantique des codes sources– Modélisation des critères de reconnaissances– Prospection par propagation système

• Résultats– Base de connaissances Métrologique constituée – Pertinence mesures : 96% selon contre-mesures

manuelles– Normalisation (Transformations) in PacBase démontrée– Aide à la budgétisation/planification démontrée

Client : PMU (2005, 2006, 2007)

• Problématique– Conception et mise en œuvre d’un processus automatisé

de contrôle de la qualité des codes et de normalisation

• Démarche– Assistance à la conception et à la mise en œuvre

de la solution logiciel ‘Revue de Codes PMU’ (MVS)

– Normalisation automatisée (Cobol, Sql et C)

• Résultats– Base de connaissances ‘Métrologie’ : corpus de règles de

conformité PMU, mesures inspection et qualité– Amélioration de la qualité (fiabilité) mesurée (ROI)– Généralisation de la démarche à tout le parc

Page 5: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Le besoin : ‘améliorer la qualité, réduire les défauts, accroître la productivité et baisser les coûts’

• CMMI : L’activité de mesure consiste à collecter, analyser et communiquer les données décrivant les produits développés et les processus mis en œuvre pour améliorer l’efficacité du travail de management et démontrer quantitativement la qualité des produits.

• Démarrer le processus Mesures et Analyses (MA)– Mesurer pour comprendre, contrôler et anticiper

• Mesurer pour agir : réduire les défauts, au plus tôt dans le cycle de développement• Mesurer pour améliorer durablement la qualité et la productivité

– Mise en place d’une pratique nouvelle : ‘Processus Mesures et Analyses du logiciel’• Conception et déploiement du processus et de ses procédés• Assurer l’acceptation de ce processus ‘MA’ et son intégration dans le processus logiciel existant

Page 6: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Service équipé ‘Mesures et Analyses’ proposé• Mise en place d’un processus MA équipé ………….

– Analyse sémantique des codes sources ………………………..– Génération de Base de Connaissances métrologique ……. – Production de rapports et de tableaux de bords ……………. – IHM (applet) : système Auditeur Expert ………………………… – Concevoir/Sélectionner les mesures pertinentes………..– Concevoir/Valider les ‘Résultats’ (ROI) et leur acceptation …..

• Administration du processus MA– Engagement sur la Qualité du service et des résultats produits (mesures de la performance du processus MA)

– Mise en place et utilisation de méthodes simples mais robustes et éprouvées (6 Sigma, Lean, CMMI-MA)

– Communications et promotion des résultats à tous les acteurs du processus logiciel– Traitements permanents

• Ordonnancement des audits, récupération des codes sources, exécuter les outils de métrologie, normaliser les résultats, peupler la base de connaissances Métrologie, interpréter et diagnostiquer, conseiller et recommander, distribuer/diffuser les résultats

OutilléAutomatiséeAutomatiséeAutomatiséeEvolutif ProgressivementSystématiquement

Page 7: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Processus Mesures et Analyses

• Pratique centrée sur les Mesures• du produit : le logiciel est mesuré• du processus : le processus logiciel est mesuré• Collecte et enregistrement des données de l’inspection : Analyses Sémantiques des codes sources (mais pas

exclusivement)

• Interprétations fondée sur : les pratiques et outils de la méthode Six Sigma (DMAIC : Define Measure Analyze Improve Control)

• Mesures centrées sur la détection des défauts … au plus tôt dans le cycle de développement• Automatisation complète de l’inspection des codes sources• Historicisation des mesures et exploration statistiques de celles ci utilisation des «cartes de contrôles» (charts)

• Consolidation des mesures dans une Base de Connaissances MA• Au niveau de l’entreprise et non pas au niveau des codes• Accessible et intelligible par tous les acteurs du processus logiciels • Protocoles d’interprétation standardisés

Page 8: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Processus Mesures et Analyses

Page 9: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Système de mesures normalisé ISO/IEC 15939• Indicateurs Asetechs Conseil:

1. Densité de défauts : évolution dans le temps2. Quality Metrics : LSI= 0 et LSS=2003. Productivity Index : évolution dans le temps4. Effort (Halstead E) : évolution dans le temps5. Difficulté (Halstead D) : évolution dans le temps6. Complexité (Cyclomatic Complexity McCabe) : < 10.7. Fonction de Perte : pour la prédiction et la mesure des

améliorations

• Mesures élémentaires (base measures) Asetechs Conseil:• 49 pour Cobol, 23 pour Java/J2EE

• Règles de conformité (+120) extensibles

• Interprétations Métrologiques• Expertise Asetechs Conseil

Page 10: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Inspection, Mesures et Analyses

Metrics and Quality Knowledge BaseAbstract

Syntax Tree

ControlFlow

Graphs

CallGraphs

Kris understandi

ng

Kris auditing(Metrics,

Rule checking,

Data flow analysis,

Quality Knowledge Repository)

Kris Audit Expert(reporting)(1)

(2) (3)

(4)

Dead codepruning

Anomaliesdetection

InterproceduralFunctional

model

En mode interactif (dans le cycle de compilation)ou

En mode batch (traitement de masse)

Toutes les étapes sont intégrées:

1. Capture des ‘inputs’ et analyses grammaticales• Construction des structures sémantiques à auditer• Validation de la cohérence des inventaires

2. Analyse sémantique étendue• Extension de l’analyse au système• Audit des structures sémantiques

3. Audit métrologique• Détection des défauts• Calculs des mesures qualité et inspection

4. Base de Connaissances Métrologie• Production du contenu Qualimétrique• Production des rapports standards

Service évolutif :

1. Plusieurs analyseurs sémantiques ‘spécialisés’ sont associés selon le besoin• KRIS (Cobol, SQL, CICS, IMS, Java), Coverity (C/C++,

Java), etc..

2. La base de connaissances ‘MA’ est multi-langages et extensible

3. Les rapports, les diagnostics et les requêtes prédéfinies sont extensibles et la base de connaissances MA permet de partager cette expertise à toute l’entreprise.

Page 11: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Approche Six Sigma : D M A I C

Page 12: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Cartes de contrôle (control charts)

6 raisons pour expliquer leur succès (Montgomery 96 , introduction to statistical quality control:)

• Les cartes de contrôles forment une technique éprouvée pour l’amélioration de la productivité

• Les cartes de contrôles sont efficaces pour la prévention des défauts

• Les cartes de contrôles évitent les ajustements de processus inutiles (distinction entre bruit et variations anormales)

• Les cartes de contrôles fournissent une information pour le diagnostic

• Les cartes de contrôles fournissent une information à propos de la ‘capability’ du processus (predictability)

• Intelligibles par tous les acteurs du processus

CL + 3 sigma

CL - 3 sigma

CL

Temps ou séquence

3 sigma = standard déviation de l’échantillon mesuré

Upper contril limit

lower contril limit

Center line

Page 13: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Démonstration : 30 mn

• Analyse de codes sources– 2 échantillons : identiques mais produits à T1 et T1+3mois– Environ 100 composants (x 2)

• Peuplement de la Base de Connaissances– Calculs des mesures qualités (49 mesures et 6 indicateurs)– Calculs des mesures d’inspection (72 règles de conformités)– Prise en comptes des paramètres propres au projet/client

• Exploration de la Base de Connaissances– Utilisation de KRIS Audit Expert et de quelques requêtes

prédéfinies– Production de rapports et interprétation

Metrics and Quality Knowledge BaseAbstract

Syntax Tree

ControlFlow

Graphs

CallGraphs

Kris understandi

ng

Kris auditing(Metrics,

Rule checking,

Data flow analysis,

Quality Knowledge Repository)

Kris Audit Expert(reporting)(1)

(2)

(4)

Dead codepruning

Anomaliesdetection

InterproceduralFunctional

model

En mode interactif (dans le cycle de compilation)ou

En mode batch (traitement de masse)

(3)

Page 14: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

KRIS «PQS» AUDIT EXPERT Client du Référentiel

Application (ou Applet) JavaFonctionne avec la VM Java.

MVSLinux

Ou UnixOu Windows

postesde

travail

Architecture du système qualité supporté par KRIS CR

Kris RE

Référentiel d’Entreprise

SGDB Relationnel(DB2, Oracle ou MySql)

KRIS Code Reviewer

et

KRIS Code Normalizer

Maj du référentiel Qualimétrie

Génération des listing/alertes

Maintainability

Maturity

Fault Tolerance

Recoverability

Compliance

Adaptability

Install-ability

Co-existence

Replace-ability

ComplianceUnderstandability

Learn-ability

Operability

Attractiveness

Compliance

Suitability

Accuracy

Security

InteroperabilityCompliance

Analyzability

Change-ability

Stability

Testability

Compliance

Functionality

Reliability

Efficiency

Portability

Usability

QU

ALIT

Y I

SO

/EC

91

26

Time Behavior

Resource Behavior

Compliance

6 facteursqualité

27 critères qualité

Kris Code Reviewer Règles d’Inspection,

95 Pour Cobol 121 pour Java/J2EE

Corpus complet et évolutif

Kris Code ReviewerQualité

Cobol : 47 mesuresJava/J2EE :23 mesures

Kris Code ReviewerCobol et Java/J2EE

Complexity measures

KRIS : Couverture fonctionnelle Métrologie du logiciel

Page 15: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Offre : Phase I – «déploiement du Processus MA»

• Une preuve du procédé MA : projet pilote– Mission:

• Conception du Plan de mesures pertinentes• Premier déploiement du processus MA et premières collectes et analyses

– Durée: 6 mois– Conseil :

• Assistance à la mise en œuvre des logiciels et aux paramétrages requis pour ce projet

• Assistance à la sélection des mesures, cartes de contrôles et diagnostics pertinents

– Résultats acquis:• Procédé MA initial opérationnel, ré-utilisable et … permanent• Base de Connaissances MA créée• Premières Cartes de Contrôles et Diagnostics initiaux opérationnels

– Budget Forfaitaire• Les logiciels KRIS sont mis à la disposition du processus gratuitement

Page 16: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Phase II : «Processus MA étendu»

• Si projet prototype ‘Probant’ Asetechs Conseil assistera le client sur les points suivants:1. Conseil méthodologique (assistance à maîtrise d’ouvrage)

• Transfert de compétence pour la maîtrise d’un procédé métrologique (processus MA)• Transfert de technologie : formation démarche, méthode et exploitation du système de métrologie.

2. Service d’exploitation de la Base de Connaissances Inspection (assistance à maîtrise d’œuvre)

• Mise en œuvre du procesus MA• Gestion de la production de la base MA : capture des mesures, exploitation de la base de connaissances, production

des rapports, interprétations et diagnostics

3. Développements : • Intégration (si besoin) nouveaux «Analyseurs Sémantiques»• Mise en œuvre de nouveau outils de collecte ou de nouvelles mesures/indicateurs

Page 17: Métrologie du logiciel Mise en œuvre du processus Mesures et Analyses du CMMI et analyses daptitude

Questions et réponses … Le processus de mesure des

LogicielsL’infrastructure fondée sur la détection des

défauts/problèmes

Objectifs Pour quelle raison mesurer les problèmes et les défauts ?

Définitions des mesures Que sont les problèmes et les défauts ?

Acquisition des données / Enregistrement

Les activités pour trouver les problèmes (comment) et leur enregistrement (quoi)?

Mesures / Diagnostics Quelles mesures, quelles règles de conformité et quels critères d’acceptation ?

Software Quality Measurements, cmu/sei 1992

Activités Où trouver les

problèmes ?Software Specifications

synthesis(product synthesis

Requirement specsDesign specsSource codeUser publicationsTest procedures

Inspections Requirement specsDesign specsSource codeUser publicationsTest procedures

Formal reviews Requirement specsDesign specsImplementationInstallation

Testing ModulesComponentsProductsSystemsUser publicationsInstallation procedures

Customer service Installation proceduresOperating proceduresMaintenance updatesSupport documents

MERCI DE VOTRE ATTENTION