sourceforge: analisi delle caratteristiche dei progetti open source

22
ANALISI DELLE CARATTERISTICHE DEI PROGETTI OPEN SOURCE RELATORE PROF. SANDRO MORASCA CORRELATORE DOTT. DAVIDE TAIBI

Upload: michele-proto

Post on 28-May-2015

1.593 views

Category:

Technology


0 download

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

Page 1: SourceForge: Analisi delle caratteristiche dei progetti open source

ANALISI DELLE CARATTERISTICHE DEI PROGETTI OPEN SOURCE

RELATORE PROF. SANDRO MORASCA

CORRELATORE DOTT. DAVIDE TAIBI

Page 2: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 3: SourceForge: 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?

Page 4: SourceForge: Analisi delle caratteristiche dei progetti 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

Page 5: SourceForge: Analisi delle caratteristiche dei progetti open source

L’accesso ad un nuovo set di dati.

Analisi delle Caratteristiche dei Progetti Open SourceMichele Proto

REPERIMENTO DEI DATI

VS

Page 6: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 7: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 8: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 9: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 10: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 11: SourceForge: 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

Page 12: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 13: SourceForge: Analisi delle caratteristiche dei progetti open source

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à

Page 14: SourceForge: Analisi delle caratteristiche dei progetti open source

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”

Page 15: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 16: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 17: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 18: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 19: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 20: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 21: SourceForge: Analisi delle caratteristiche dei progetti open source

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

Page 22: SourceForge: Analisi delle caratteristiche dei progetti open source

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