Este documento apresenta uma abordagem para classificar construções de software utilizando redes de comunicação e cooperação. Os autores coletaram dados de comunicação e cooperação de um projeto de software livre para treinar algoritmos de classificação e testar se estas redes podem identificar construções propensas a falhar. Os resultados mostraram que as redes de cooperação classificaram construções melhor do que comunicação sozinha, mas a união das redes não melhorou tanto os resultados.
Classificação de construções de software usando redes de comunicação e cooperação
1. UMA ABORDAGEM PARA
CLASSIFICAÇÃO DE CONSTRUÇÃO DE
SOFTWARE UTILIZANDO REDES DE
COMUNICAÇÃO E COOPERAÇÃO
Vidal Daniel, Igor Wiese, Igor Steinmacher, Reginaldo Ré, José
Teodororo, Marco Aurélio Gerosa
X WMSWM
2. CONTEXTO
... para o projeto ser bem sucedido
elas precisam se comunicar,
coordenar e cooperar...
2
“Projetos de software livre são
centrados nas interações das
pessoas”
4. PROBLEMA
4
“...ausência de comunicação e coordenação levam a quebra de
construções...”.
Construção
OK
Construção
OK
Construção
Falhou
Construção
Falhou
Construção
OK
Próxima
construção?
...
5. OBJETIVO
5
Redes de comunicação e cooperação podem classificar
construções que falham?
Questões de pesquisa:
• Durante as primeiras interações dos novatos com o projeto
• QP1: Redes de comunicação podem ser utilizadas
para classificar construções propensas a falhar?;
• QP2: Redes de cooperação podem ser utilizadas
para classificar construções propensas a falhar?; e
• QP3: União das redes permite melhorar os resultados de
classificação obtidos?
6. DADOS COLETADOS
Projeto Felix GOGO
• Comunicação: Lista de e-mails de Desenvolvedores
• Cooperação: SVN – Commits
• Builds: Construções coletadas do “Hudson”
6
8. RESULTADOS (QP1)
REDES DE COMUNICAÇÃO PODEM SER UTILIZADAS
PARA CLASSIFICAR CONSTRUÇÕES PROPENSAS A FALHAR?
RESULTADOS (QP2)
REDES DE COOPERAÇÃO PODEM SER UTILIZADAS
PARA CLASSIFICAR CONSTRUÇÕES PROPENSAS A FALHAR?
9. RESULTADOS (QP3)
A UNIÃO DAS REDES PODEM MELHORAR A CLASSIFICAÇÃO DAS
CONSTRUÇÕES PROPENSAS A FALHAR?
10. DISCUSSÃO
(Q1) Valores para Recall/Precision/F-Measure em geral < 0.6, não
obtendo um desempenho satisfatório.
(Q2) Recall/Precision/F-Measure em geral obtiveram valore acima de 0.6
assim obtendo um bom desempenho para classificação.
(Q3) Os valores para Recall/Precision/F-Measure foram superiores que
(Q1), mas inferiores à (Q2). Possível existência de ruídos nos dados de
comunicação
11. AMEAÇAS A VALIDADE E
TRABALHOS FUTUROS
• Testes realizados com um único projeto
• estamos coletando dados de outros projetos.
• Comunicação extraída apenas de emails.
• estamos coletando dados do issue tracker.
• Possíveis ruídos na comunicação.
• O uso de issue tracker pode contextualizar a comunicação a uma
tarefa e consequentemente a um conjunto de commits
• Próximos passos
• verificar o impacto de cada métrica na classificação,
• analisar o padrão das redes nos momentos de falha e sucesso
12. PERGUNTAS?
Vidal Daniel da Fontoura
vidal.fontoura@matera.com.br
Igor Scaliante Wiese
igor@utfpr.edu.br
Igor Steinmacher
igorfs@utfpr.edu.br
Reginaldo Ré
reginaldo.re@gmail.com
José Teodoro da Silva
jose.teodoro@gmail.com
Marco Aurélio Gerosa
gerosa@ime.usp.br