Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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.

Slide 3

Slide 3 text

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.

Slide 4

Slide 4 text

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.

Slide 5

Slide 5 text

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.

Slide 6

Slide 6 text

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!

Slide 7

Slide 7 text

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.

Slide 8

Slide 8 text

Comece a desenvolver! •  Código-fonte: github.com/spgroup/groundhog •  Wiki do projeto: github.com/spgroup/groundhog/wiki •  Lista de email Meu email: [email protected]

Slide 9

Slide 9 text

Dúvidas?

Slide 10

Slide 10 text

Obrigado!
 
 spgroup.github.io/groundhog Aluno Rodrigo Alves Vieira [email protected] Orientador Prof. Fernando José Castor [email protected]