Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/40985
Type: Dissertação
Title: A comparative study of APIs for querying GitHub data
Other Titles: Um estudo comparativo de APIs para consultar dados do GitHub
Authors: Thaís Oliveira Mombach
First Advisor: Marco Tulio de Oliveira Valente
First Referee: André Cavalcante Hora
Second Referee: Luciana Lourdes Silva
Third Referee: Eduardo Magno Lages Figueiredo
Abstract: GitHub 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.
Abstract: O 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.
language: eng
metadata.dc.publisher.country: Brasil
Publisher: Universidade Federal de Minas Gerais
Publisher Initials: UFMG
metadata.dc.publisher.department: ICX - DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
metadata.dc.publisher.program: Programa de Pós-Graduação em Ciência da Computação
Rights: Acesso Aberto
URI: http://hdl.handle.net/1843/40985
Issue Date: 3-Oct-2019
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
DissertacaoThaisV2.pdf1.56 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.