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

Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.giuliofiorerm
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxMartin M Flynn
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaRafael Figueredo
 

Recently uploaded (9)

Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
San Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptxSan Giorgio e la leggenda del drago.pptx
San Giorgio e la leggenda del drago.pptx
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
 

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