O Impacto de Pares na Identificação de Anomalias de Código: Um Experimento Controlado Roberto F. de Oliveira – [email protected] LES | DI |PUC-Rio - Brazil OPUS Research Group Sumário Introdução Questão Central de Pesquisa Background Procedimentos Metodológicos Resultados Ameaças a validade Conclusões Trabalhos Futuros Jul - 2013 [email protected] 2 Introdução Anomalias de Código Problemas Estruturais Melhorias Dificuldades de Detecção Jul - 2013 Modularidade Manutenabilidade Inexperiência Intrínseca desta atividade [email protected] 3 Questão Central de Pesquisa Questão de Pesquisa Jul - 2013 Qual o impacto dos pares como meio de identificação de anomalias de código? [email protected] 4 Bakground Programação em Pares Driver Observer Equação da Precisão Jul - 2013 Precisão é a proporção de um conjunto de objetos retornados que é realmente relevante [10]. [email protected] 5 Procedimentos Metodológicos Jul - 2013 [email protected] 6 Procedimentos Metodológicos Características da Amostra 16 acadêmicos Jul - 2013 Suscetíveis a mudança Comprometidos com o experimento 2 Universidades 4 tipos de anomalias [email protected] 7 Procedimentos Metodológicos Descrição do Experimento Jul - 2013 [email protected] 8 Procedimentos metodológicos H1 - Em pares os participantes identificam número maior de anomalias de código em comparação a indivíduos. Verificação de H1 - Se o número de anomalias identificadas na modalidade em pares for maior que na modalidade individual, então esta hipótese será confirmada. H2 - Pares reduzem o número de falsos positivos em relação a indivíduos. Verificação de H2 - Se o número de falsos positivos na modalidade em pares for menor que na modalidade individual, esta hipótese será confirmada.. H3 - Em pares possui uma precisão de acertos na identificação de anomalias em relação a indivíduos? Verificação de H3 - Se a média global referente ao índice de precisão em pares for maior que na modalidade individual, esta hipótese será confirmada. Jul - 2013 [email protected] 9 Resultados Perfil dos Participantes Jul - 2013 [email protected] 10 Resultados Identificação individual Jul - 2013 Eficácia Precisão 11 Resultados Identificação em Pares Jul - 2013 Eficácia Precisão 12 Resultados Confirma a H1 – Pares identificam um número maior Participantes Participante 1 Participante 2 Participante 3 Participante 4 Participante 5 Participante 6 Participante 7 Participante 8 Participante 9 Modalidade Individual QS QA FP 2 1 1 5 3 2 2 2 0 8 6 2 2 2 0 4 3 1 3 3 0 6 4 2 4 3 1 Participantes Eficácia Jul - 2013 1e4 5e2 8e7 3e6 9 e14 Modalidade Individual QS QA QFP 3 3 0 2 2 0 7 4 3 4 4 0 5 2 3 6 3 3 3 3 0 66 48 18 4,1 3,0 1,1 Participantes Participante 10 Participante 11 Participante 12 Participante 13 Participante 14 Participante 15 Participante 16 Total Média Modalidade em Pares QS QA QFP 7 5 2 12 8 4 11 9 2 8 7 1 9 5 4 Participa ntes 11 e 10 12 e 13 16 e 15 Total Média [email protected] Eficácia Modalidade em Pares QS QA QFP 12 10 2 8 5 3 10 8 2 77 57 20 9,6 7,1 2,5 13 Resultados H2 não é confirmada – Pares identificam um número FP Participantes Participante 1 Participante 2 Participante 3 Participante 4 Participante 5 Participante 6 Participante 7 Participante 8 Participante 9 Modalidade Individual QS QA FP 2 1 1 5 3 2 2 2 0 8 6 2 2 2 0 4 3 1 3 3 0 6 4 2 4 3 1 Participantes Eficácia Jul - 2013 1e4 5e2 8e7 3e6 9 e14 Participantes Participante 10 Participante 11 Participante 12 Participante 13 Participante 14 Participante 15 Participante 16 Total Média Modalidade em Pares QS QA QFP 7 5 2 12 8 4 11 9 2 8 7 1 9 5 4 Modalidade Individual QS QA QFP 3 3 0 2 2 0 7 4 3 4 4 0 5 2 3 6 3 3 3 3 0 66 48 18 4,1 3,0 1,1 Participa ntes 11 e 10 12 e 13 16 e 15 Total Média [email protected] Eficácia Modalidade em Pares QS QA QFP 12 10 2 8 5 3 10 8 2 77 57 20 9,6 7,1 2,5 14 Resultados H3 não é confirmada – Precisão em Pares é menor Precisão Precisão Jul - 2013 15 Resultados Questionário Pós-Experimento Jul - 2013 16 Ameaças a Validade Questionário Pré-experimento Participantes não desejam desenvolver atividades relacionadas a programação; Questionário Pós-Experimento Treinamento não foi suficiente Jul - 2013 17 Conclusões Por intermédio de Pares: Identificar um número maior de anomalias. Apresentar um número maior de falsos positivos Aumento 15%. A precisão de acertos é menor quando em pares; Jul - 2013 18 Trabalhos Futuros (i) replicar o estudo envolvendo programadores profissionais, a fim de verificar a aceitação da técnica para esta atividade de identificação de anomalias. (ii) reproduzir a referida pesquisa, utilizando-se da estratégia automatizada de detecção de anomalias; (iii) investigar se o critério de definição dos pares pode influência na identificação de anomalias de código; (iv) buscar inquirir se através da programação em pares é possível minimizar o tempo gasto no processo de identificação de anomalias; Jul - 2013 19 Dúvidas Jul - 2013 20