A comparative study of APIs for querying GitHub data

dc.creatorThaís Oliveira Mombach
dc.date.accessioned2022-04-11T20:38:33Z
dc.date.accessioned2025-09-09T00:30:59Z
dc.date.available2022-04-11T20:38:33Z
dc.date.issued2019-10-03
dc.description.abstractO GitHub é uma plataforma usada por 40 milhões de usuários para hospedar código-fonte de mais de 100 milhões de repositórios. A plataforma é usada também por importantes sistemas de código aberto (OSS) para armazenar e compartilhar seu código, e também para organizar as contribuições de desenvolvedores de todo o mundo. Esse fato, juntamente com o fácil acesso aos dados, explica por que o GitHub é amplamente usado em pesquisas de Engenharia de Software. Esta dissertação de mestrado visa fornecer uma análise comparativa e detalhada de duas APIs populares para acessar dados do GitHub: API REST do GitHub e GHTorrent. Primeiro, realizamos um estudo usando 23 consultas extraídas de artigos publicados em duas grandes conferências de Engenharia de Software. Implementamos essas consultas para analisar as APIs em diferentes dimensões, incluindo esforço de configuração, qualidade da documentação, informações disponíveis, complexidade das consultas e limitações. Com base nessas análises, foi possível comparar as duas APIs e descobrir que a API REST do GitHub pode estar à frente do GHTorrent nos aspectos analisados. Por exemplo, ambas as APIs fornecem documentação, mas a documentação do GHTorrent parece estar desatualizada. Finalmente, concluímos o trabalho principal avaliando as duas APIs em um estudo de caso. Coletamos os 10K principais repositórios com base no número de estrelas para responder a três perguntas de pesquisa sobre desenvolvimento de software de código aberto em diferentes países. Com este estudo, foi possível analisar os resultados recuperados usando dados de diferentes APIs. Identificamos algumas variações nos resultados, a maioria relacionada à diferença na data de coleta dos dados das duas APIs. Como contribuições práticas do trabalho, são apresentadas análises de cada uma das APIs para auxiliar os pesquisadores na escolha de uma API para coleta de dados.
dc.description.sponsorshipCNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico
dc.description.sponsorshipFAPEMIG - Fundação de Amparo à Pesquisa do Estado de Minas Gerais
dc.description.sponsorshipCAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior
dc.identifier.urihttps://hdl.handle.net/1843/40985
dc.languageeng
dc.publisherUniversidade Federal de Minas Gerais
dc.rightsAcesso Aberto
dc.subject.otherGitHub
dc.subject.otherGitHub REST API
dc.subject.otherGHTorrent
dc.subject.otherOpen Source development
dc.titleA comparative study of APIs for querying GitHub data
dc.title.alternativeUm estudo comparativo de APIs para consultar dados do GitHub
dc.typeDissertação de mestrado
local.contributor.advisor1Marco Tulio de Oliveira Valente
local.contributor.advisor1Latteshttp://lattes.cnpq.br/2147157840592913
local.contributor.referee1André Cavalcante Hora
local.contributor.referee1Luciana Lourdes Silva
local.contributor.referee1Eduardo Magno Lages Figueiredo
local.creator.Latteshttp://lattes.cnpq.br/4187971170693827
local.description.resumoGitHub is a popular platform for hosting source code with more than 100 million repositories and 40 million users. GitHub is used by important Open Source Software (OSS) projects to store and share their code, and also to organize the contributions from developers around the world. This fact along with easy access to GitHub data explains why GitHub is widely used in Software Engineering studies. This master dissertation aims to provide a detailed comparative analysis of two popular APIs for accessing GitHub data: GitHub REST API and GHTorrent. First, we conduct a study using 23 queries extracted from papers of two major Software Engineering conferences. We implemented these queries to analyze the APIs under different dimensions, including setup effort, documentation quality, data coverage, queries complexity, and limitations. Based on these analyses we could find that GitHub REST API is ahead GHTorrent in the analyzed aspects. For example, both APIs provide documentation, but GHTorrent documentation seems to be out of date. Finally, we conclude the master work by evaluating the queries technologies in a real case study. We collect the top-10K GitHub repositories based on the number of stars to answer three research questions about open source software development in different countries. In this study, we analyze the results achieved by using data from different APIs. We identify some variation in the results, although most of them can be related to the time difference in data collection of both APIs. As practical contributions of this work, we present analyzes of each of the APIs to assist researchers when choosing an API for data collection.
local.publisher.countryBrasil
local.publisher.departmentICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
local.publisher.initialsUFMG
local.publisher.programPrograma de Pós-Graduação em Ciência da Computação

Arquivos

Pacote original

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
DissertacaoThaisV2.pdf
Tamanho:
1.53 MB
Formato:
Adobe Portable Document Format

Licença do pacote

Agora exibindo 1 - 1 de 1
Carregando...
Imagem de Miniatura
Nome:
license.txt
Tamanho:
2.07 KB
Formato:
Plain Text
Descrição: