SlideShare a Scribd company logo
1 of 29
Download to read offline
Predizione del Bug-Fix Time
con l'algoritmo Random Forest
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Università degli Studi di Bari Aldo Moro
Dipartimento di Informatica
Corso di Studi in Informatica e Comunicazione Digitale
Relatori
Prof. Pasquale Ardimento
Prof. Massimo Bilancia Candidato
Marco Catapano
Anno Accademico 2014 - 15
2
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Sommario
● Difetto Software e Bug Tracking System
● Raccolta dati e da Bugzilla
● Memorizzazione su base dati NoSQL
● Classificazione e Predizione
● Addestramento del Random Forest
● Analisi dei Risultati ottenuti
3
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Obiettivo
● Utilizzare l'algoritmo di classificazione “Random
Forest” per la predizione del tempo di risoluzione di
un difetto software.
● Migliorare il processo di assegnazione e gestione delle
risorse durante l'attività di fixing.
4
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Difetto Software
1947, Primo “bug reale” estratto da un
componente hardware della macchina
Harvard Mark II dell'Università di Harvard
● Un difetto è una sequenza
di istruzioni, sorgenti o
eseguibili, che, quando
eseguita con particolari
dati in input, genera un
malfunzionamento.
5
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Defect Tracking System:
Bugzilla [1]
Un sistema di tracciamento dei difetti di un software o di una sua
componente è un software stesso che effettua diverse operazioni
utili ai fini della manutenzione.
Perché Bugzilla?
● Utilizzato da noti progetti Open-
Source
● Personalizzabile
● Dati sui difetti sono pubblici
6
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Ciclo di vita di un
difetto software
Attività svolta Stato del bug
Un tester identifica il bug e lo riporta. Aperto
L'assegnatario autorizza il bug. Aperto
Il team recensisce il difetto. Aperto
Il difetto può essere autorizzato o non autorizzato dal team di
sviluppo.
Aperto o
Rifiutato
I bugs autorizzati saranno risolti oppure rinviati dal team di
sviluppo.
Riparato o
Rinviato
I bugs risolti saranno testati nuovamente dal “testing team” e
chiusi oppure riaperti se il difetto persiste.
Chiuso o
Riaperto
7
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Raccolta dei dati
da Bugzilla
Formati di scambio dati utilizzati:
● CSV (comma-separated values)
● XML (eXtensible Markup Language)
● Pagine HTML (Web Scraping)
8
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Conversione in
JSON
XML è un linguaggio di markup mentre JSON è un formato di interscambio di dati
9
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Progetti analizzati
Progetto Periodo di riferimento Numero di bugs
Libreoffice 20/10/2010 al 24/11/2015 604
Eclipse 13/11/2001 al 23/11/2015 1334
● Libreoffice → utenti comuni
● Eclipse → utenti più esperti
10
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Dati prelevati
● ID del bug
● Data e ora di apertura
● Data e ora di risoluzione → Giorni di risoluzione
● Priorità al momento dell'apertura
● Severità al momento dell'apertura
● Commenti
11
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Discretizzazione
dei giorni di risoluzione
[0 - 33] %
FAST
[34 - 66] %
NORMAL
[67 - 100] %
SLOW
da 0 a 6
Giorni
da 7 a 60
Giorni
da 61 giorni a 4,5
Anni
[0 - 75] %
FAST
[76 - 100] %
SLOW
da 0 a 70
Giorni
da 71 giorni a 4,5
Anni
12
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Memorizzazione su DB
di tipo NoSQL [2]
● Archiviazione
● Recupero
● Modellazione
delle informazioni è
differente rispetto ai
database relazionali.
13
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Memorizzazione su
MongoDB
Tipo Document Oriented
Documenti sono oggetti JSON
Evitata la progettazione ad hoc di una base dati di
tipo tradizionale.
14
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Elaborazione in R [3]
● Linguaggio di programmazione basato sul C per
manipolare e analizzare i dati.
● Usato in ambito del Machine Learning.
● Vasto reparto di librerie già integrate.
15
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Estrazione delle features:
Text-Mining
Obiettivo
● Estrazione di
informazione (features)
contenuta in un insieme
di documenti.
Scambio di informazioni tra gli sviluppatori
16
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Matrice termini-documenti
● La matrice termini-documenti è una matrice matematica che descrive la
frequenza dei termini che occorrono in una collezione di documenti.
● Le righe corrispondono ai documenti, mentre le colonne corrispondono ai
termini.
17
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Classificazione e Predizione:
Input
● Un insieme di esempi
(istanze)
● che descrivono un
concetto (la classe)
● sulla base di attributi
(detti anche features)
18
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Classificazione e Predizione:
Input
● Un insieme di esempi
(istanze)
● che descrivono un
concetto (la classe)
● sulla base di attributi
(detti anche features)
19
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Classificazione e Predizione:
Input
● Un insieme di esempi
(istanze)
● che descrivono un
concetto (la classe)
● sulla base di attributi
(detti anche features)
20
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Classificazione e Predizione:
Modelli
● A partire dagli esempi viene costruito un modello in grado di
descrivere il valore della classe in base a quello degli attributi
21
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Modelli di Classificazione:
Alberi di Decisione
● Radice
● Nodo interno → variabile (termine)
● Ramo → un possibile valore (in base alla
frequenza del termine)
● Foglia → valore della classe predetta (fast,
slow
22
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Costruzione di alberi di decisione
Random Forest [4]
● Basato sul boosting: il risultato non è un singolo albero ma una foresta
di alberi in successione, in cui ogni albero è costruito tenendo conto
degli errori di previsione commessi dai precedenti.
● Ogni nodo è deciso sulla base di un diverso sottoinsieme dei predittori,
scelti casualmente.
● Dopo che è stato generato un gran numero di alberi, per ciascun vettore
di input, viene selezionata la classe più popolare.
● Dà sia una stima dell'errore che dell'importanza delle variabili
23
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Random Forest:
Accuratezza del modello
Come misurare la bontà di un modello:
● Metodo “holdout”
● valutare l’accuratezza del modello sul test-set.
● Accuratezza
● Percentuale di esempi la cui classe predetta coincide con la classe
reale
● Test-Set
● insieme di esempi indipendenti dal training set.
● di ciascun esempio si conoscono gli attributi e la classe reale
● dato un insieme di esempi lo si divide (casualmente) in una
percentuale per il training ed una per il test set.
24
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Risultati Sperimentali
Eclipse LibreOffice
Accuratezza Accuratezza
Tre
etichette
24% 26%
Due
etichette
85% 76%
25
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Minacce alla validità
del modello
● Valido solo con specifici progetti open-source.
● NON valido in ambito aziendale.
26
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Conclusioni
● I risultati del modello sono in linea con quelli della
letteratura esistente, ma poco utili allo stato pratico.
● Raggiungimento di una migliore accuratezza con l'utilizzo di
due classi etichettate.
● Gli sviluppatori possono avere solo una stima futura sul
tempo di risoluzione di un difetto.
27
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Lavori Futuri
● Miglioramento dello script di acquisizione per poter
funzionare su altri progetti software che utilizzano Bugzilla.
● L'elaborazione dei dati potrebbe essere realizzata anche in
real-time predisponendo l'installazione dell'ambiente R sul
server remoto. Ciò può essere realizzato mediante RStudio
Server e la libreria Shiny, diponibile su
http://shiny.rstudio.com.
28
Grazie per l'attenzione
Marco Catapano
Laurea in Informatica e Comunicazione Digitale
16/12/2015
Università degli Studi di Bari 'Aldo Moro'
Dipartimento di Informatica
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
29
Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
Bibliografia
(1) Bugzilla, http://www.bugzilla.org
(2) Eric A. Brewer, Towards robust distributed systems.
(Invited Talk) Principles of Distributed Computing, 2000
(3) The R Project for Statistical Computing,
http://www.r-project.org
(4) L. Breiman, Random Forests. Machine Learning, 2001
(5) Lionel Marks, Ying Zou, Ahmed E. Hassan - Studying
the Fix-Time for Bugs in Large Open Source Projects,
2011

More Related Content

Recently uploaded

presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxmichelacaporale12345
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxsasaselvatico
 
Educazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointEducazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointpalestiniaurora
 
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptxPancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptxpalestiniaurora
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereMarco Chizzali
 
presentazione di Storia di michela .pptx
presentazione di Storia di michela .pptxpresentazione di Storia di michela .pptx
presentazione di Storia di michela .pptxmichelacaporale12345
 
Gli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda presGli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda prespalestiniaurora
 
Questa è una presentazione di Arte riguardo Cimabue
Questa è una presentazione di Arte riguardo CimabueQuesta è una presentazione di Arte riguardo Cimabue
Questa è una presentazione di Arte riguardo Cimabuenicolofusco13
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxpalestiniaurora
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...Nguyen Thanh Tu Collection
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxpalestiniaurora
 
Aurora Palestinipresentazione000001.pdtf
Aurora Palestinipresentazione000001.pdtfAurora Palestinipresentazione000001.pdtf
Aurora Palestinipresentazione000001.pdtfpalestiniaurora
 
allotropie del carbonio michela caporale .pptx
allotropie del carbonio michela caporale .pptxallotropie del carbonio michela caporale .pptx
allotropie del carbonio michela caporale .pptxmichelacaporale12345
 
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxteccarellilorenzo
 
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxPalestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxpalestiniaurora
 
Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...
Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...
Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...nicolofusco13
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxpalestiniaurora
 
Piccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxPiccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxpalestiniaurora
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticanico07fusco
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxteccarellilorenzo
 

Recently uploaded (20)

presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptx
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
Educazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointEducazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpoint
 
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptxPancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
presentazione di Storia di michela .pptx
presentazione di Storia di michela .pptxpresentazione di Storia di michela .pptx
presentazione di Storia di michela .pptx
 
Gli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda presGli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda pres
 
Questa è una presentazione di Arte riguardo Cimabue
Questa è una presentazione di Arte riguardo CimabueQuesta è una presentazione di Arte riguardo Cimabue
Questa è una presentazione di Arte riguardo Cimabue
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docx
 
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
CHIẾN THẮNG KÌ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN - PHAN THẾ HOÀI (36...
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
Aurora Palestinipresentazione000001.pdtf
Aurora Palestinipresentazione000001.pdtfAurora Palestinipresentazione000001.pdtf
Aurora Palestinipresentazione000001.pdtf
 
allotropie del carbonio michela caporale .pptx
allotropie del carbonio michela caporale .pptxallotropie del carbonio michela caporale .pptx
allotropie del carbonio michela caporale .pptx
 
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
 
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxPalestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
 
Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...
Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...
Questa è una presentazione di Scienze riguardo le varietà allotropiche del ca...
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
Piccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxPiccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docx
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docx
 

Featured

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Predizione del Bug-Fix Time con l'algoritmo Random Forest

  • 1. Predizione del Bug-Fix Time con l'algoritmo Random Forest Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Università degli Studi di Bari Aldo Moro Dipartimento di Informatica Corso di Studi in Informatica e Comunicazione Digitale Relatori Prof. Pasquale Ardimento Prof. Massimo Bilancia Candidato Marco Catapano Anno Accademico 2014 - 15
  • 2. 2 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Sommario ● Difetto Software e Bug Tracking System ● Raccolta dati e da Bugzilla ● Memorizzazione su base dati NoSQL ● Classificazione e Predizione ● Addestramento del Random Forest ● Analisi dei Risultati ottenuti
  • 3. 3 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Obiettivo ● Utilizzare l'algoritmo di classificazione “Random Forest” per la predizione del tempo di risoluzione di un difetto software. ● Migliorare il processo di assegnazione e gestione delle risorse durante l'attività di fixing.
  • 4. 4 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Difetto Software 1947, Primo “bug reale” estratto da un componente hardware della macchina Harvard Mark II dell'Università di Harvard ● Un difetto è una sequenza di istruzioni, sorgenti o eseguibili, che, quando eseguita con particolari dati in input, genera un malfunzionamento.
  • 5. 5 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Defect Tracking System: Bugzilla [1] Un sistema di tracciamento dei difetti di un software o di una sua componente è un software stesso che effettua diverse operazioni utili ai fini della manutenzione. Perché Bugzilla? ● Utilizzato da noti progetti Open- Source ● Personalizzabile ● Dati sui difetti sono pubblici
  • 6. 6 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Ciclo di vita di un difetto software Attività svolta Stato del bug Un tester identifica il bug e lo riporta. Aperto L'assegnatario autorizza il bug. Aperto Il team recensisce il difetto. Aperto Il difetto può essere autorizzato o non autorizzato dal team di sviluppo. Aperto o Rifiutato I bugs autorizzati saranno risolti oppure rinviati dal team di sviluppo. Riparato o Rinviato I bugs risolti saranno testati nuovamente dal “testing team” e chiusi oppure riaperti se il difetto persiste. Chiuso o Riaperto
  • 7. 7 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Raccolta dei dati da Bugzilla Formati di scambio dati utilizzati: ● CSV (comma-separated values) ● XML (eXtensible Markup Language) ● Pagine HTML (Web Scraping)
  • 8. 8 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Conversione in JSON XML è un linguaggio di markup mentre JSON è un formato di interscambio di dati
  • 9. 9 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Progetti analizzati Progetto Periodo di riferimento Numero di bugs Libreoffice 20/10/2010 al 24/11/2015 604 Eclipse 13/11/2001 al 23/11/2015 1334 ● Libreoffice → utenti comuni ● Eclipse → utenti più esperti
  • 10. 10 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Dati prelevati ● ID del bug ● Data e ora di apertura ● Data e ora di risoluzione → Giorni di risoluzione ● Priorità al momento dell'apertura ● Severità al momento dell'apertura ● Commenti
  • 11. 11 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Discretizzazione dei giorni di risoluzione [0 - 33] % FAST [34 - 66] % NORMAL [67 - 100] % SLOW da 0 a 6 Giorni da 7 a 60 Giorni da 61 giorni a 4,5 Anni [0 - 75] % FAST [76 - 100] % SLOW da 0 a 70 Giorni da 71 giorni a 4,5 Anni
  • 12. 12 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Memorizzazione su DB di tipo NoSQL [2] ● Archiviazione ● Recupero ● Modellazione delle informazioni è differente rispetto ai database relazionali.
  • 13. 13 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Memorizzazione su MongoDB Tipo Document Oriented Documenti sono oggetti JSON Evitata la progettazione ad hoc di una base dati di tipo tradizionale.
  • 14. 14 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Elaborazione in R [3] ● Linguaggio di programmazione basato sul C per manipolare e analizzare i dati. ● Usato in ambito del Machine Learning. ● Vasto reparto di librerie già integrate.
  • 15. 15 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Estrazione delle features: Text-Mining Obiettivo ● Estrazione di informazione (features) contenuta in un insieme di documenti. Scambio di informazioni tra gli sviluppatori
  • 16. 16 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Matrice termini-documenti ● La matrice termini-documenti è una matrice matematica che descrive la frequenza dei termini che occorrono in una collezione di documenti. ● Le righe corrispondono ai documenti, mentre le colonne corrispondono ai termini.
  • 17. 17 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Classificazione e Predizione: Input ● Un insieme di esempi (istanze) ● che descrivono un concetto (la classe) ● sulla base di attributi (detti anche features)
  • 18. 18 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Classificazione e Predizione: Input ● Un insieme di esempi (istanze) ● che descrivono un concetto (la classe) ● sulla base di attributi (detti anche features)
  • 19. 19 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Classificazione e Predizione: Input ● Un insieme di esempi (istanze) ● che descrivono un concetto (la classe) ● sulla base di attributi (detti anche features)
  • 20. 20 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Classificazione e Predizione: Modelli ● A partire dagli esempi viene costruito un modello in grado di descrivere il valore della classe in base a quello degli attributi
  • 21. 21 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Modelli di Classificazione: Alberi di Decisione ● Radice ● Nodo interno → variabile (termine) ● Ramo → un possibile valore (in base alla frequenza del termine) ● Foglia → valore della classe predetta (fast, slow
  • 22. 22 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Costruzione di alberi di decisione Random Forest [4] ● Basato sul boosting: il risultato non è un singolo albero ma una foresta di alberi in successione, in cui ogni albero è costruito tenendo conto degli errori di previsione commessi dai precedenti. ● Ogni nodo è deciso sulla base di un diverso sottoinsieme dei predittori, scelti casualmente. ● Dopo che è stato generato un gran numero di alberi, per ciascun vettore di input, viene selezionata la classe più popolare. ● Dà sia una stima dell'errore che dell'importanza delle variabili
  • 23. 23 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Random Forest: Accuratezza del modello Come misurare la bontà di un modello: ● Metodo “holdout” ● valutare l’accuratezza del modello sul test-set. ● Accuratezza ● Percentuale di esempi la cui classe predetta coincide con la classe reale ● Test-Set ● insieme di esempi indipendenti dal training set. ● di ciascun esempio si conoscono gli attributi e la classe reale ● dato un insieme di esempi lo si divide (casualmente) in una percentuale per il training ed una per il test set.
  • 24. 24 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Risultati Sperimentali Eclipse LibreOffice Accuratezza Accuratezza Tre etichette 24% 26% Due etichette 85% 76%
  • 25. 25 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Minacce alla validità del modello ● Valido solo con specifici progetti open-source. ● NON valido in ambito aziendale.
  • 26. 26 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Conclusioni ● I risultati del modello sono in linea con quelli della letteratura esistente, ma poco utili allo stato pratico. ● Raggiungimento di una migliore accuratezza con l'utilizzo di due classi etichettate. ● Gli sviluppatori possono avere solo una stima futura sul tempo di risoluzione di un difetto.
  • 27. 27 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Lavori Futuri ● Miglioramento dello script di acquisizione per poter funzionare su altri progetti software che utilizzano Bugzilla. ● L'elaborazione dei dati potrebbe essere realizzata anche in real-time predisponendo l'installazione dell'ambiente R sul server remoto. Ciò può essere realizzato mediante RStudio Server e la libreria Shiny, diponibile su http://shiny.rstudio.com.
  • 28. 28 Grazie per l'attenzione Marco Catapano Laurea in Informatica e Comunicazione Digitale 16/12/2015 Università degli Studi di Bari 'Aldo Moro' Dipartimento di Informatica Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale
  • 29. 29 Università degli Studi di Bari • Dipartimento di Informatica • Informatica e comunicazione digitale Bibliografia (1) Bugzilla, http://www.bugzilla.org (2) Eric A. Brewer, Towards robust distributed systems. (Invited Talk) Principles of Distributed Computing, 2000 (3) The R Project for Statistical Computing, http://www.r-project.org (4) L. Breiman, Random Forests. Machine Learning, 2001 (5) Lionel Marks, Ying Zou, Ahmed E. Hassan - Studying the Fix-Time for Bugs in Large Open Source Projects, 2011