Dissertação
A comparative study of APIs for querying GitHub data
Fecha
2019-10-03Autor
Thaís Oliveira Mombach
Institución
Resumen
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.