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