Analisi dei difetti in sistemi software mission
Transcript
Analisi dei difetti in sistemi software mission
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio tesi di laurea magistrale Analisi dei difetti in sistemi software mission-critical: un caso di studio Anno Accademico 2011/2012 relatore Ch.mo prof. Stefano Russo correlatori Ch.mo prof. Roberto Pietrantuono Ing. Gabriella Carrozza, SESM candidato Roberto Pascale Matr. M63/22 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Contesto e motivazioni I sistemi software mission-critical sviluppati da SESM/SELEX-ES Air Traffic Control Sorveglianza aerea e costiera Stringenti requisiti di qualità Reliability, near-real-time, scalabilità Standard di dominio e di processo DO-178B, CENELEC EN 5012(6-8-9) CMMI, ISO/IEC 15504, MIL-STD-498 Alti costi di V&V (Verifica e Validazione) Superano il 50% del budget totale Esigenza di controllare il processo nella fase di V&V 2/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Obiettivo e contributi Obiettivo Misurare la qualità del processo di detection e del processo di fixing dei difetti, al fine di identificare criticità e suggerire azioni di miglioramento Contributi Un metodo di analisi dei difetti per sistemi mission-critical Un caso di studio, in collaborazione con SESM Uno strumento software di supporto all’analisi dei difetti 3/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio La metodologia d’analisi Research Questions Efficienza del processo di detection Efficienza del processo di fixing Valutazione dell’efficienza In assoluto Differenza tra le istanze dei processi Indicatori di qualità Numero di difetti segnalati e risolti nel tempo Time To Fix dei difetti Difetti “rilavorati” Numero di revisioni tra la detection e il fixing Attributi di classificazione Priority Severity Reproducibility 4/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Il caso di studio Unità di analisi Sistemi 6 CSCI (Computer Software Configuration Item) Circa 50K Lines of Code (LOC) per CSCI Sviluppo demandato in outsourcing 1296 bug report Fase del testing Controllo del traffico navale Situational awareness in ambito militare Workflow dei difetti Estrazione informazioni dal Bug Tracking System Mantis Date di segnalazione e fixing Priority, Severity, Reproducibility Date di rilascio delle versioni CSCI Le riaperture dei ticket associati ai difetti 5/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Valutazione del processo di detection (1/2) Numero di difetti rilevati per categoria Numero cumulativo di difetti segnalati nel tempo Fitting con modelli SRGM: stime di reliability dei componenti 6/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Valutazione del processo di detection (2/2) Tempo impiegato dalla detection del 50 e del 90% di difetti stimati 50% difetti: in media 32 settimane 90% difetti: in media 55 settimane Rapporto tra le settimane al 50 e al 90% dei difetti normalizzato al numero di difetti stimati CSCI Weeks 50% Weeks 90% C1 33 50 C2 31 40 C3 23 70 C4 50 110 C5 23 42 C6 26 60 Media 31.67 55.00 7/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Valutazione del processo di fixing (1/2) Time To Fix medio CSCI Difetti Media (Giorni) Dev. STD Riaperture Numero di anomalie risolte con un Time C1 153 75.09 65.66 1.22 To Fix superiore o inferiore alla media C2 69 15.28 23.46 0.06 C3 273 24.77 66.17 0.05 C4 43 41.77 31.01 0.02 C5 146 17.68 25.21 0.09 C6 225 23.29 27.58 0.05 Media - 32.98 22.63 0.23 Riaperture dei ticket dei difetti 8/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Valutazione del processo di fixing (2/2) Numero di difetti segnalati e risolti in un tempo t; Time To Fix delle anomalie in funzione degli istanti di segnalazione Time To Fix: livelli di Priority e Severity incrociati Time To Fix Immed. (Giorni) Urgent High Normal Block 26.13 - - - Major - 25.63 42.86 18.73 Minor - - - 25.16 Feature - - - 87.61 9/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Un tool di supporto alla defect analysis (1/2) Possibilità di importazione del dataset dei difetti da Bug Tracker esterni Generazione report di prodotto Stima dei difetti totali Curve di Reliability Classificazione ODC Reproducibility, Severity… 10/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Un tool di supporto alla defect analysis (2/2) Generazione report di processo Distribuzione empirica del Time To Fix Statistiche sull’indicatore Time To Fix Difetti segnalati e risolti, nel tempo Possibilità di settare il filtraggio dei difetti 11/12 Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Analisi dei difetti in sistemi software mission-critical: un caso di studio Conclusioni Processo di fixing Processo di detection Difetti “non sempre riproducibili” in numero troppo basso Classificazione errata o testing inefficace Gli indicatori del 50 e del 90% di difetti sono troppo alti per alcune istanze Rivedere le tipologie di tecniche di testing e l’allocazione dell’effort I difetti ad alta Severity vengono scoperti nel lungo periodo La priorità non ha influenza sui tempi di risoluzione Definire un Time To Fix massimo per i difetti ad alta priorità I tempi di risoluzione sono disomogenei tra le istanze Fenomeno di chiusura a blocchi dei difetti per ogni istanza Laddove non avvenisse, rivedere l’ordine di applicazione delle tecniche di testing Sviluppi futuri Costruzione di una base dati storica Confronto tra istanze di componenti con determinate metriche di prodotto Monitorare le istanze di processo di fixing di un fornitore 12/12