Social network and community analysis became a central topic of the computer science in the last two decades due to the appearance and vast employment of various web platforms and social media. Open Source Software Development Projects are a rich and ample environment where the relationships between users can be analyzed and understood. In this research, we focus the attention on one of the most popular Open Source Software Development Projects on the GitHub platform, in order to analyze its community through the study of the teamwork between users. The teamwork relationships are estimated from the analysis of the users’ interactions inside the commit, issue and pull request events of the project. We consider different granularity levels to find the relationships between users: file and package levels in the project source code; month, year and release levels for the temporal component of the data. We generate networks of users connected by teamwork relationships with these different granularity levels and we analyze them through the study of their graph representations. A static analysis is performed in order to study the characteristics of the networks. A dynamic analysis is performed in order to study the behavior of the networks over time. Moreover, we analyze the effect and the consequences of the choice of the granularity levels on the networks. Finally, the comparison with another popular Open Source Software Development Project is analyzed in order to find differences and similarities and verify the obtained results.

L'analisi delle reti sociali è diventato un argomento di centrale interesse nell'ambito dell'informatica negli ultimi due decenni, grazie alla comparsa e all'ampio utilizzo di numerose piattaforme web e social media. I progetti open source sono un ambiente ricco e vario dove analizzare e comprendere le relazioni che si instaurano tra gli utenti. In questa ricerca, abbiamo analizzato uno dei più popolari progetti open source presente sulla piattaforma GitHub. L’obiettivo principale è studiare le caratteristiche e il comportamento della sua community attraverso l’analisi della cooperazione tra utenti. La cooperazione è calcolata attraverso lo studio delle interazioni tra utenti all'interno degli eventi di commit, issue e pull request del progetto. Per questo calcolo, sono stati considerati diversi livelli di granularità: file e package per il progetto; mese, anno e pubblicazione dal punto di vista temporale. Differenti reti sociali di utenti collegati da relazioni di cooperazione sono state generate ed analizzate attraverso i grafi che le rappresentano. Un’analisi statica è stata realizzata con l’obiettivo di studiare le ` caratteristiche principali delle reti sociali. Mentre un’analisi dinamica è stata realizzata per studiare il comportamento e l’evoluzione della community nel tempo. Inoltre, abbiamo analizzato gli effetti della scelta di granularità sulle reti sociali. Infine, i risultati sono stati confrontati con un altro progetto open ` source con l’obiettivo di verificarli e trovare differenze e similarità.

Teamwork analysis in large-scale open source software development project : a network and community analysis approach

CASARTELLI, MATTEO
2019/2020

Abstract

Social network and community analysis became a central topic of the computer science in the last two decades due to the appearance and vast employment of various web platforms and social media. Open Source Software Development Projects are a rich and ample environment where the relationships between users can be analyzed and understood. In this research, we focus the attention on one of the most popular Open Source Software Development Projects on the GitHub platform, in order to analyze its community through the study of the teamwork between users. The teamwork relationships are estimated from the analysis of the users’ interactions inside the commit, issue and pull request events of the project. We consider different granularity levels to find the relationships between users: file and package levels in the project source code; month, year and release levels for the temporal component of the data. We generate networks of users connected by teamwork relationships with these different granularity levels and we analyze them through the study of their graph representations. A static analysis is performed in order to study the characteristics of the networks. A dynamic analysis is performed in order to study the behavior of the networks over time. Moreover, we analyze the effect and the consequences of the choice of the granularity levels on the networks. Finally, the comparison with another popular Open Source Software Development Project is analyzed in order to find differences and similarities and verify the obtained results.
ING - Scuola di Ingegneria Industriale e dell'Informazione
6-giu-2020
2019/2020
L'analisi delle reti sociali è diventato un argomento di centrale interesse nell'ambito dell'informatica negli ultimi due decenni, grazie alla comparsa e all'ampio utilizzo di numerose piattaforme web e social media. I progetti open source sono un ambiente ricco e vario dove analizzare e comprendere le relazioni che si instaurano tra gli utenti. In questa ricerca, abbiamo analizzato uno dei più popolari progetti open source presente sulla piattaforma GitHub. L’obiettivo principale è studiare le caratteristiche e il comportamento della sua community attraverso l’analisi della cooperazione tra utenti. La cooperazione è calcolata attraverso lo studio delle interazioni tra utenti all'interno degli eventi di commit, issue e pull request del progetto. Per questo calcolo, sono stati considerati diversi livelli di granularità: file e package per il progetto; mese, anno e pubblicazione dal punto di vista temporale. Differenti reti sociali di utenti collegati da relazioni di cooperazione sono state generate ed analizzate attraverso i grafi che le rappresentano. Un’analisi statica è stata realizzata con l’obiettivo di studiare le ` caratteristiche principali delle reti sociali. Mentre un’analisi dinamica è stata realizzata per studiare il comportamento e l’evoluzione della community nel tempo. Inoltre, abbiamo analizzato gli effetti della scelta di granularità sulle reti sociali. Infine, i risultati sono stati confrontati con un altro progetto open ` source con l’obiettivo di verificarli e trovare differenze e similarità.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2020_06_Casartelli.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Testo della tesi
Dimensione 23.32 MB
Formato Adobe PDF
23.32 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/154249