Datamining GitHub : Examining Time-to-solve for issues in relation to group-size

There exists a mountain of data on GitHub on how software development is done in reality. The data is accessible through an API but is rarely used outside of the projects it belongs to. This data could be an untapped resource and potentially give us an insight about software development in general a...

Full description

Bibliographic Details
Main Authors: Bonino Quintana, Joaquin, Fagerlind, Sebastian
Format: Others
Language:English
Published: KTH, Skolan för elektroteknik och datavetenskap (EECS) 2020
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-280303
Description
Summary:There exists a mountain of data on GitHub on how software development is done in reality. The data is accessible through an API but is rarely used outside of the projects it belongs to. This data could be an untapped resource and potentially give us an insight about software development in general and how to organize projects more efficiently. This report takes a sample of 676 800 repositories from GitHub and tries to find a relation or underlying function between the number of members and the time it takes them to solve issues. This report also looks at GitHub API and its viability as a tool for research. The data collection was done with two programs written in Golang and took 4 days of execution to run. Because GitHub is used for many different things by many people, some filtering of the data had to be done to remove repositories that were irrelevant or not usable for this study. The requirements included having more than 3 members, having made at least two pull requests and having actually resolved issues. After filtering out projects that didn’t fit our requirements, 1517 repositories remained. It was found that no clear relationship of underlying function could be established due to the variance being too high. However, GitHub API proved to be a valuable tool for this research and holds great potential, even though there are several limitations that have to be considered for further studies. === GitHub innehåller en stor mängd data om hur programutveckling går till i verkligheten. Denna data är åtkomlig med hjälp av ett API men används dock oftast inte utanför de projekt som de tillhör. Informationen kan vara en värdefull resurs som potentiellt kan säga något om hur programutveckling går till och hur projekt bör organiseras. I denna rapport studeras ett urval på 676 800 GitHub repositories i ett försök att hitta en relation mellan antalet medlemmar och den tid det tar att lösa issues. Rapporten undersöker även användbarheten av GitHub API som ett forskningsverktyg. All data samlades in med hjälp av två program som skrevs i Golang. Eftersom att GitHub används för många olika syften av en stor mängd personer behövde datan filtreras. För att ta bort de repositories som var relevanta för studien eller som inte kunde användas formulerades ett antal krav baserat på tidigare studier. Kraven som användes var att projekten behövde inkludera tre eller fler medlemmar, de behövdes ha gjorts minst två pull requests samt innehålla lösta issues över huvud taget. Insamlingen av datan tog totalt 4 dagar och efter att filtrerat ut de repositories som inte var användbara för studien kvarstod 1517 som kunde analyseras. Analysen resulterade i att ingen relation eller underliggande funktion kunde hittas eftersom att datamängden hade för hög varians. Däremot visade GitHub API stor potential och var ett värdefullt verktyg för denna studie. Dock har den vissa begränsningar som måste tas hänsyn till för vidare studier.