sourceforge: analisi delle caratteristiche dei progetti open source
DESCRIPTION
vengono analizzati i software open source presenti in uno dei maggiori repository on line: sourceforge.net, ed il loro processo produttivo, partendo dai metodi di valutazione esistenti e sfruttandone le caratteristiche comuni. Sui progetti viene fatta una valutazione analitica delle qualità dei prodotti (bugs, patches e documentazione), dell'attività delle comunità che ruotano intorno a questi software (sviluppatori, release e donazioni), nonchè del supporto a breve termine. Lo studio mostra, tramite dati e report un'analisi di massima dei progetti di sourceforge. Infine vengono mostrate le problematiche riscontrate nel reperire e gestire i dati dei software open source.TRANSCRIPT
ANALISI DELLE CARATTERISTICHE DEI PROGETTI OPEN SOURCE
RELATORE PROF. SANDRO MORASCA
CORRELATORE DOTT. DAVIDE TAIBI
Valutare i Progetti di SourceForge
Analisi di Tutti i Progetti
Analisi dei progetti in un breve periodo
Ricerca, Individuazione e
Analisi delle Caratteristiche
Valutazioni di Alcune Qualità
Esterne
Bugs
Patches
Documentazione
Attività della Comunità
Sviluppatori
Release
Donazioni
Nascita di Nuovi Progetti
Download
Supporto a Breve
Termine
Tempo medio di Risoluzione
dei Bugs
Tempo medio di Assegnazione
dei Bugs
Costruire Metodi
Automatici
OBIETTIVI
Michele Proto
Analisi delle Caratteristiche dei Progetti Open Source
SITUAZIONE ATTUALE
IdeologieOpinioni Scelte di “religione”
Errori di Valutazione
Strumenti di supporto solo manuali: • OSMM•OPEN BRR•QSOS•OPEN BQR
+
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
Oggi come si valutano i prodotti Open Source?
REPERIMENTO DEI DATI
Mette a disposizione alcuni dati grezzi di SourceForge
Non è stato possibile utilizzarli
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
FLOSSmole
Alcuni dati sono aggregati
L’accesso ad un nuovo set di dati.
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
REPERIMENTO DEI DATI
VS
Schema ER del database di SourceForge
Dump singoli
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
L’UTILIZZO DEI DATI
Problemi:
Tabelle incongruenti tra schema e dump
Incongruenza nella struttura delle tabelle
Mancanza documentazione
Conseguenze:
Analisi di tutte le tabelle e relazioni
Esecuzione manuale delle query (es. 26 query per singolo grafico semestrale)
Estrazione ed aggregazione manuale dei dati
Inaccessibilità diretta ai dati
PREALPHABETA
MATURO
0
50000
100000
150000
200000
250000
300000
1 2 3 4 5 6 7 8 9 10
Nr. Bugs
Livelli di Priorita'
PREALPHAALPHABETASTABILEMATURO
PREALPHAALPHA
BETASTABILE
MATURO
0
2000
4000
6000
8000
10000
12000
14000
16000
1 2 3 4 6 7 8 9 10
Nr. di Bugs
Livelli di Priorità
PREALPHA
ALPHA
BETA
STABILE
MATURO
Bugs Scoperti
6.2 bugs per progetto
L’ANALISI DEI DATI
Totale dei bugs 846950
Totale dei progetti 135834
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
PREALPHA
BETA
MATURO
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
1 2 3 4 5 6 7 8 9
Nr. di bugs
Livelli di priorità
PREALPHA
ALPHA
BETA
STABILE
MATURO
PREALPHA
ALPHA
BETA
STABILEMATURO
0
500
1000
1500
2000
2500
3000
1 2 3 4 6 7 8 9
Nr. di bugs
Livelli di priorità
PREALPHA
ALPHA
BETA
STABILE
MATURO
Bugs Assegnati
Totale dei bugs assegnati 59338
Solo il 7% dei bugs scoperti viene assegnato agli sviluppatori per la risoluzione
L’ANALISI DEI DATI
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
PRE ALPHA
BETA
MATURO0
5000
10000
15000
20000
25000
30000
35000
40000
45000
1 2 3 4 5 6 7 8 9
Nr. di patches
Livelli di priorità
PRE ALPHAALPHABETASTABILEMATURO
PRE ALPHAALPHA
BETASTABILE
MATURO
0
100
200
300
400
500
600
700
800
900
1000
1 2 3 4 6 7 8 9
Nr. di patches
Livelli di priorità
PRE ALPHA
ALPHA
BETA
STABILE
MATURO
Patches Rilasciate
Totale delle patches 109119
Progetti ricevono <1% di soluzioni
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
L’ANALISI DEI DATI
0
20000
40000
60000
80000
100000
120000
140000
160000
180000
200000
PREALPHA ALPHA BETA STABILE MATURO
47749
83311
161741186716
20160
Nr. release
Stabilità dei progetti
Release Rilasciate
Release totali: 499677
Rispetto al totale dei bugs sono il 58% di “miglioramenti”
Sommando release e patches si ha una risoluzione della difettosità dei progetti del 71%
L’ANALISI DEI DATI
Michele Proto
Analisi delle Caratteristiche dei Progetti Open Source
0
1000
2000
3000
4000
5000
6000
7000
8000
4246
4975
7692 7804
776
Nr. documenti
Stabilità dei progetti
PREALPHA
ALPHA
BETA
STABILE
MATURO
Documentazione
I documenti presenti sono circa il 18% del totale dei progetti
L’ANALISI DEI DATIAnalisi delle Caratteristiche dei Progetti Open Source
Michele Proto
Documentazione presente sui siti dei singoli progetti
0
200
400
600
800
1000
1200
1400
1600
1800
2000
PREALPHA ALPHA BETA STABILE MATURO
377301
1196
1874
207
Nr. download
Mili
oni
Livelli stabilità
Download Effettuati
L’ANALISI DEI DATIAnalisi delle Caratteristiche dei Progetti Open Source
Michele Proto
Progetti alpha e maturo sono i meno innovativi
0,00
50,00
100,00
150,00
200,00
250,00
1 2 3 4 5 6 7 8 9 10
Nr. giorni
LIVELLI DI PRIORITA'
PREALPHA ALPHA BETA STABILE MATURO
Tempo medio di soluzione dei bugs
L’ANALISI DEI DATIAnalisi delle Caratteristiche dei Progetti Open Source
Michele Proto
Velocità di risoluzione diminuisce con il salire di criticità
PREALPHA
BETA
MATURO0,00
20,00
40,00
60,00
80,00
100,00
120,00
140,00
1 2 3 4 5 6 7 8 9
Nr. giorni
Livelli priorità
PREALPHA
ALPHA
BETA
STABILE
MATURO
Tempo medio di assegnazione dei bugs
L’ANALISI DEI DATIAnalisi delle Caratteristiche dei Progetti Open Source
Michele Proto
Dati ottenuti indirettamente e validi ≅ 70%
Progetti dichiarati maturi subiscono una “dimenticanza”
0500
100015002000250030003500400045005000
PREALPHA ALPHA BETA STABILE MATURO
2406
2764
47084946
386
Nr. progetti
0
5000
10000
15000
20000
25000
30000
35000
PREALPHA ALPHA BETA STABILE MATURO
24062764 4708 4946
386
24367 26052
3416727354
2471
Nr. donazioni/Nr. totale progetti
DONAZIONI
TOTALE PROGETTI
Donazioni Finanziarie
L’ANALISI DEI DATIAnalisi delle Caratteristiche dei Progetti Open Source
Michele Proto
RUOLO DEI MEMBRI NR. DI DONATORI DONATORI IN %Developer 5032 5,73
Project Manager 3023 11,64Unix Admin 82 7,24Doc Writer 40 3,03Tester 87 3,70
Support Manager 27 5,31Graphic/Other Designer 47 2,91Translator (I18N/L10N) 102 5,56Editorial/Content Writer 14 3,46Packager (.rpm, .deb etc) 61 7,19
Analysis / Design 19 3,09Advisor/Mentor/Consultant 71 5,03
Distributor/Promoter 15 6,25Content Management 20 5,92
Requirements Engineering 5 2,39Web Designer 92 4,64
Porter (Cross Platform Devel.) 38 8,15Anonimus 12548 9,38
All Hands Person (Gestori) 715 10,36Others 119 5,73
User Interface (UI) Designer 10 4,13Support Technician 15 7,50
DBA (Database Administrator) 5 4,67
ANALISI SEMESTRALE
Periodo arbitrario, ma rappresentativo di un intervallosufficientemente lungo (01 aprile 2007 – 30 settembre 2007)26 Settimane
Analisi di tutti i Progetti
L’ANALISI DEI DATI
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
Mostra come evolvono le caratteristiche dei progetti nel tempo
0
200
400
600
800
1000
1200
1 3 5 7 9 11 13 15 17 19 21 23 25
Nr. di bugs
NR. SETTIMANE
PRIORITA' 5 PREALPHA
ALPHA
BETA
STABILE
MATURO
Bugs ScopertiL’ANALISI DEI DATI SEMESTRALI
Analisi delle Caratteristiche dei Progetti Open Source
Michele Proto
0
5
10
15
20
25
30
35
40
45
50
1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526
Nr. di Bugs
NR. SETTIMANE
PRIORITA' 9 PREALPHA
ALPHA
BETA
STABILE
MATURO
0
50
100
150
200
250
1 3 5 7 9 11 13 15 17 19 21 23 25
Nr. di bugs
NR. SETTIMANE
PRIORITA' 5PREALPHA
ALPHA
BETA
STABILE
MATURO
Bugs Assegnati
L’ANALISI DEI DATI SEMESTRALI
Analisi delle Caratteristiche dei Progetti Open Source
Michele Proto
0
5
10
15
20
25
1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526
Nr. di Bugs
NR. SETTIMANE
PRIORITA' 9 PREALPHA
ALPHA
BETA
STABILE
MATURO
0
20
40
60
80
100
120
140
160
1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526
Nr. patches
NR. SETTIMANE
PRIORITA' 5PREALPHA
ALPHA
BETA
STABILE
MATURO
0
0,5
1
1,5
2
2,5
3
3,5
1 3 5 7 9 11 13 15 17 19 21 23 25NR. SETTIMANE
PRIORITA' 9 PREALPHA
ALPHA
BETA
STABILE
MATURO
Patches Rilasciate
L’ANALISI DEI DATI SEMESTRALI
Analisi delle Caratteristiche dei Progetti Open Source
Michele Proto
PREALPHASTABILE0
500
1000
1500
2000
2500
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Nr. release
Nr. settimane
PREALPHA
ALPHA
BETA
STABILE
MATURO
Release Rilasciate
L’ANALISI DEI DATI SEMESTRALI
Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto
PREALPHA
STABILE
0,00
10,00
20,00
30,00
40,00
50,00
60,00
70,00
80,00
1 3 5 7 9 11 13 15 17 19 21 23 25
Nr. giorni
Nr. settimane
PREALPHA
ALPHA
BETA
STABILE
MATURO
Tempo medio di assegnazione dei Bugs
PREALPHA
STABILE
0
100
200
300
400
500
600
700
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Nr. giorni
Nr. settimane
PREALPHA
ALPHA
BETA
STABILE
MATURO
Tempo medio di risoluzione dei Bugs
L’ANALISI DEI DATI SEMESTRALI Analisi delle Caratteristiche dei Progetti Open Source
Michele Proto
CONCLUSIONI – SVILUPPI FUTURI
GRAZIE PER L’ATTENZIONE
Analisi delle Caratteristiche dei Progetti Open Source
Michele Proto
Centralizzazione e accesso diretto ai dati
Sensibilizzare le comunità che sviluppano isistemi di tracking
Ampliare i parametri introducendo valori disoddisfazione
Ridurre la soggettività nelle valutazioni e nellescelte
ANALISI DELLE CARATTERISTISCHE DEI PROGETTI OPEN SOURCE