Métrologie du logiciel
Mise en œuvre du processus ‘Mesures et Analyses’ du CMMI
et analyses d’aptitude
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
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
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
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
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
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
Processus Mesures et Analyses
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
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.
Approche Six Sigma : D M A I C
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
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)
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
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
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
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
Top Related