Mining Software Repositories (MSR)
Leandro César da Cruz
2021
Mining Software Repositories (MSR)
Aplicada em projetos do GitHub
Parte 1
• Estrutura da Apresentação
 Arquivos
 Commits
 Análise
 Questionário
1. Arquivos
Trabalhando com repositórios
• Clonando o Repositório
Velocidade
A análise remota de grandes projetos pode demorar muito caso se
necessário fazer o clone todas as vezes que seja necessário avaliá-
los, por isso é interessante manter um clone armazenado
localmente.
• Clonando o Repositório
• Arquivos Java
Código-fonte
Como iremos analisar projetos desenvolvidos com a linguagem de
programação Java a primeira ideia é verificar a quantidade total de
arquivos .java do projeto.
Obs.: Caso necessário poderíamos modificar a linguagem de
programação alvo apenas modificando e extensão. Ex.: .py, .cpp
• Arquivos Java
• Identificação dos Testes
Teste de software
O primeiro passo para verificar se existe algum arquivo com
tendência a ser TDD é a identificação de arquivos de teste no
repositório do projeto.
• Identificação dos Testes
@Test
2. Commits
Verificação dos commits
• Printar Commits
Mostrar commits do projeto
Printar todos os commits do projeto com seu número identificador,
mensagem de commit, data, autor e e-mail do autor.
• Arquivos Java
...
________________________
SHA: ad78A90...
Mensagem: Primeiro commit
Data: 22/05/2021 13:46
Autor: Leandro César
E-Mail:leandro@gmail.com
________________________
...
• Printar Commits
Mostrar commits dos arquivos de teste
Printar todos os commits relacionados a cada arquivo de teste
encontrados no projeto.
• Arquivos Java
...
________________________
SHA: ad78A90...
Mensagem: Meu teste
Data: 23/05/2021 09:07
Parent: 3mu9543...
________________________
...
3. Análise
Avaliar dos arquivos
4. Questionários
Envio aos autores
Mining Software Repositories (MSR)
Leandro César da Cruz
2021

Msr (ideia) {pptx}