Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Groundhog

 Groundhog

Apresentação na Jornada da FACEPE na FCAP/UPE

Rodrigo Alves

July 17, 2014
Tweet

More Decks by Rodrigo Alves

Other Decks in Research

Transcript

  1. Groundhog   spgroup.github.io/groundhog Uma infraestrutura de mineração de repositórios de

    software   Rodrigo Alves Vieira Ciência da Computação – CIn/UFPE Orientador: Prof. Fernando José Castor
  2. O que é o Groundhog? O Groundhog é uma infraestrutura

    (framework) de mineração de dados de repositórios de software. Seu objetivo é ser uma ferramenta capaz de realizar extração de um volume de dados imenso de vários projetos e oferecer condições de armazenamento desses dados, bem como funções para o seu processamento. Além disso, o Groundhog é extensível, permitindo que outros projetos possam ser desenvolvidos em cima dele.
  3. Como funciona? O Grounghog funciona como um robô que extrai

    dados da API do GitHub, o maior repositório de software do mundo, com cerca de 7 milhões de desenvolvedores e organizações, que possuem um total de 34 milhões de projetos diferentes. Uma API, sigla para (Application Programming Interface) é uma “janela” de comunicação com um software ou banco de dados, que pode ser aberta por outros softwares. Todos os dias, usamos dezenas de APIs para os mais diversos propósitos.
  4. Para que minerar? Mineração de repositórios de software nos permite

    availar a popularidade e influência de projetos e linguagens de programação, bem como nos permite associar todos os fatores que influenciam no desenvolvimento de um projeto. A relação entre bugs e certas instruções de código, ou o tempo médio que se leva para corrigir um problema, ou a relação entre novas funcionalidades e a introdução de novos bugs e claro, a influência dos desenvolvedores na evolução do software.
  5. O que são os metadados? O Groundhog serve para a

    obtenção de metadados sobre os projetos, o que para muitos propósitos analíticos é mais útil do que o seu próprio código-fonte. Metadados de projetos de software são o conjunto de todas as informações agregadas ao projeto que vão além do próprio código. Isso significa: issues do projeto, dados de commits, pull requests, membros contribuintes, dados de frequência das atividades no projeto, etc.
  6. Open Source Software Open Source, em geral, é um software

    que pode ser usado por todos sem a necessidade da compra da licença de quem o desenvolve, desde que algumas regras sejam respeitadas (consultar licença). Estamos cercados por softwares open source, nos nossos celulares, computadores, na infraestrutura dos sites que mais visitamos, etc. O Groundhog é 100% open source!
  7. Extensibilidade O Groundhog é extensível, permitindo que outros projetos sejam

    desenvolvidos em cima dele. O projeto é modularizado e você pode escolher o que usar, seja o buscador de projetos, ou o mecanismo de atualização de metadados, ou a interface do banco de dados. Tudo está pronto para você usar e melhorar.