• Nenhum resultado encontrado

Replicação de estudos empíricos em engenharia de software: extensão de um mapeamento sistemático.

N/A
N/A
Protected

Academic year: 2021

Share "Replicação de estudos empíricos em engenharia de software: extensão de um mapeamento sistemático."

Copied!
101
0
0

Texto

(1)

Replicação de Estudos Empíricos em Engenharia de Software:

Extensão de um Mapeamento Sistemático

Por

Roberta Moraes Monteiro Bezerra

Dissertação de Mestrado

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao

(2)

Universidade Federal de Pernambuco

CENTRO DE INFORMÁTICA

PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Roberta Moraes Monteiro Bezerra

Replicação de Estudos Empíricos em Engenharia de Software:

Extensão de um Mapeamento Sistemático

Orientador: Prof. Fábio Queda Bueno Da Silva

RECIFE, MAIO/2014

Este trabalho foi apresentado à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre em Ciência da Computação.

(3)

Catalogação na fonte

Bibliotecário Jefferson Luiz Alves Nazareno, CRB 4-1758

Bezerra, Roberta Moraes Monteiro.

Replicação de estudos empíricos em engenharia de software: extensão de um mapeamento

sistemático. – Recife: O Autor, 2014. 99 f.: fig., tab.

Orientador: Fábio Queda Bueno da Silva.

Dissertação (Mestrado) - Universidade Federal de Pernambuco. Cin. Ciência da computação, 2014.

Inclui referências e apêndices.

1. Engenharia de software. 2. Mapeamento sistémico.

I. Silva, Fábio Queda Bueno da Silva (orientador). II. Título.

(4)

Dissertação de Mestrado apresentada por Roberta Moraes Monteiro Bezerra à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título “Replicação de Estudos Empíricos em Engenharia de Software: Extensão de um Mapeamento Sistemático” orientada pelo Prof. Fábio Queda Bueno da Silva e aprovada pela Banca Examinadora formada pelos professores:

_____________________________________________ Prof. André Luis de Medeiros Santos

Centro de Informática / UFPE

_____________________________________________ Prof. André Luis de Medeiros Santos

Centro de Informática / UFPE

_____________________________________________ Prof. Fábio Queda Bueno da Silva

Centro de Informática / UFPE

Visto e permitida a impressão. Recife, 5 de maio de 2014.

_____________________________________________________________ Profa. Edna Natividade da Silva Barros

Coordenadora de Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.

(5)

Dedico este trabalho a Deus, meus pais, a minha irmã, meu namorado, a todos os familiares e amigos que de alguma forma contribuiram para a conclusão desta dissertação.

(6)

AGRADECIMENTOS

Agradeço primeiramente a Deus, que através de Suas bênçãos, permitiu que chegasse até aqui. Mostrou-me os caminhos a seguir e me iluminou em todos os passos da minha vida.

Agradeço a meus pais, Roberto e Jane, que sempre me apoiaram em todos os momentos desta caminhada e me fizeram seguir em frente, mesmo nos momentos de fraqueza. Sei que fizeram de tudo para que eu alcançasse todos os sonhos e meus objetivos de vida. Obrigada por todo carinho e dedicação que vocês tem por nós, eu e minha irmã.

A minha irmã, Katarina, que mesmo com suas inúmeras tarefas sempre conseguiu tempo para mim, as suas ajudas, seus conselhos de mestra e nossas viagens a Recife, algumas vezes acompanhado de minha mãe. Obrigada pela compreensão nos momentos que a paciência me faltou e por toda dedicação que você tem por mim.

A meu namorado Ricardo, o mestre que me escutou em todos os momentos e que me deu forças para chegar aqui. Obrigada por todo carinho e compreensão nos dias que estava mais tensa.

Obrigada também a meus avôs, vovô Bezerra e vovó Maria, vovô Gregório (in memoriam) e vovó Ester que me deram uma família. Agradeço a todos os familiares que estiveram sempre presentes em minha vida.

A meu orientador, Professor Dr. Fabio Silva, que mesmo com a minha distância, sempre esteve solícito a todos os meus pedidos, orientando sempre nos caminhos a seguir desta pesquisa.

A Marcos Suassuna que sem toda sua experiência me mostrou os melhores caminhos a seguir, me dando calma em todos os momentos apreensivos da pesquisa. A Anderson Medeiros que sem sua ajuda este trabalho não teria sido concluído, me ajudando em todas as etapas da pesquisa que precisavam de mais de um pesquisador.

Agradeço a todos os mestres que estiveram presente em minha caminhada, meus professores de colégio, de faculdade e do mestrado; a todos os colegas de colégios, faculdade, trabalho que me ajudaram a ser o que sou.

Agradeço a todos que aqui não foram citados, mas que contribuiram de alguma forma me dando ânimo e coragem para seguir em frente e terminar a pesquisa.

(7)

RESUMO ESTRUTURADO

Contexto: Pesquisadores das ciências empíricas relatam a necessidade de realizar replicações dos estudos empíricos, inclusive na Engenharia de Software. Os primeiros estudos de replicação na Engenharia de Software Empírica são da década de 1990, sendo uma área relativamente recente. A Engenharia de Software Empírica ainda não conseguiu definir os termos e conceitos básicos de replicação, estando este debate em estágio inicial. Também não existe uma vasta literatura com material de replicação.

Objetivo: Estender a pesquisa de (Silva et al., 2011) analisando os estudos relacionadas a replicação na Engenharia de Software Empírica e publicadas nos anos de 2011 e 2012.

Método: A realização de um mapeamento sistemático sobre o estado atual dos trabalhos de replicação na Engenharia de Software Empírica, para extrair e analisar os novos dados dos artigos selecionados e depois comparar os resultados dos dois mapeamentos sistemáticos. Resultados: Nesse estudo foram analisados mais de 7.000 artigos, a partir dos quais foram selecionados 39 artigos referente a replicações executadas, com 51 replicações, executadas em 2011 e 2012, e 35 estudos originais. Também foram selecionados 10 artigos referente a trabalhos teóricos sobre replicação. 53% das replicações são consideradas externas; há uma forte concentração de replicações de quasi-experimentos, que utilizam “Acadêmicos” como unidade de análise e que confirmam o estudo original. Os conjuntos de replicação com apenas uma replicação para cada estudo original representam 80% dos conjuntos. Os tópicos de Design de Software, Teste de Software e Qualidade de Software concentram 58,8% das replicações.

Conclusões: Considerando os números do primeiro mapeamento e do atual, percebe-se um aumento proporcional no número de replicações que retratam estudos empíricos na Engenharia de Software, entretanto, o número de replicações ainda é pequeno, sendo preciso incentivos para aumentar o número de replicações e a qualidade dos seus resultados. Quando analisado os resultados desta extensão e do primeiro mapeamento, percebe-se que as maiores mudanças estão entre as replicações externas.

Palavras-chave: Replicações. Engenharia de Software. Engenharia de Software Empírica. Mapeamento Sistemático. Estudos Empíricos. Experimentos. Revisão de Literatura.

(8)

ABSTRACT

Context: Empirical sciences researchers report a necessity to realize the replications of empirical study, including in the Software Engineering. The first replication study in the Empirical Software Engineering are from the 90´s decade, being an area recent relatively. The Empirical Software Engineering still doesn´t get to define the terms and basics concepts of replication, being this debate in initial phase. There isn´t an immense literature either with material of replication.

Objective: To extend the research of (Silva et al. 2011) analyzing the related studies to the replication of Empirical Software Engineering and published in the years 2011 and 2012. Method: The realization of systematic mapping about the current state of replication in the Empirical Software Engineering, to extract and analyse the new data articles selected and after compared the both results of systematic mapping.

Results: This study were analyzed more than 7000 articles, from those were selected 39 articles, report 51 replications in 2011 and 2012, and 35 original studies. Were also selected 10 regarding articles in theoretical work about replication. Fifty three percent from replication are considered externals; there is a strong concentration of replications that use the method of quasi-experiments, the unit os analysis " Academics", and that confirm the original study. Eighty percent of sets of replications has only a replication for each original study. The topics Software Design, Software Testins, and Software Quality concentrate 58,8% of replications.

Conclusion: Considering the numbers of the first mapping and the current, realize a proportional increase in the replication number that retract empirical studies in the Software Engineering, however, the number of replications is still small, being precise incentive to increase the replication number and the quality of results. When analyzed the result of that extention and from the first mapping, notice that the majors changes are among the external replications.

Key Words: Replications. Software Engineering . Empirical Software Engineering. Systematic Mapping. Empirical Studies. Experiments. Literature Review.

(9)

LISTA DE FIGURAS

FIGURA 1:STRING DE BUSCA DO PRIMEIRO MAPEAMENTO... 33 FIGURA 2:STRING DE BUSCA ... 34

(10)

LISTA DE TABELAS

TABELA 1:CRITÉRIOS DE QUALIDADE DAS REPLICAÇÕES ... 38 TABELA 2CRITÉRIOS DE QUALIDADE DAS REPLICAÇÕES QUE APRESENTAM O ESTUDO ORIGINAL

... 39 TABELA 3: PRINCIPAIS PESQUISADORES DE REPLICAÇÃO NA ENGENHARIA DE SOFTWARE

EMPÍRICA 1994-2010 ... 46

TABELA 4: PRINCIPAIS PESQUISADORES DE REPLICAÇÃO NA ENGENHARIA DE SOFTWARE

EMPÍRICA 2011-2012 ... 46

TABELA 5: PRINCIPAIS ORGANIZAÇÕES DE REPLICAÇÃO NA ENGENHARIA DE SOFTWARE

EMPÍRICA 1994-2010 ... 48

TABELA 6: PRINCIPAIS ORGANIZAÇÕES DE REPLICAÇÃO NA ENGENHARIA DE SOFTWARE

EMPÍRICA 2011-2012 ... 48

TABELA 7:DISTRIBUIÇÃO DAS REPLICAÇÕES POR CAPÍTULO E SEÇÃO DO SWEBOK NO PERÍODO DE 1994 A 2010 ... 52

TABELA 8:DISTRIBUIÇÃO DAS REPLICAÇÕES POR CAPÍTULO E SEÇÃO DO SWEBOK NO PERÍODO DE 2011 A 2012 ... 53 TABELA 9:DISTRIBUIÇÃO DAS REPLICAÇÕES POR CAPÍTULO E SEÇÃO DO SWEBOK NO PERÍODO

DE 1994 A 2012 ... 53 TABELA 10: DISTRIBUIÇÃO DOS CONJUNTOS DE REPLICAÇÕES POR QUANTIDADE DE

REPLICAÇÕES EM CADA CONJUNTO NO PERÍODO DE 1994 A 2010 ... 63 TABELA 11: DISTRIBUIÇÃO DOS CONJUNTOS DE REPLICAÇÕES POR QUANTIDADE DE

REPLICAÇÕES EM CADA CONJUNTO NO PERÍODO DE 2011 A 2012 ... 63 TABELA 12:CONJUNTO DE REPLICAÇÕES DO PERÍODO DE 2011 A 2012 ... 64 TABELA 13:DISTRIBUIÇÃO DAS REPLICAÇÕES POR CONFIRMAÇÃO DOS ESTUDOS ORIGINAIS NO

PERÍODO DE 1994 A 2010 ... 68

TABELA 14:DISTRIBUIÇÃO DAS REPLICAÇÕES POR CONFIRMAÇÃO DOS ESTUDOS ORIGINAIS NO PERÍODO DE 2011 A 2012 ... 68

(11)

TABELA 15:TEMPO DECORRIDO EM ANOS ENTRE A PUBLICAÇÃO DA REPLICAÇÃO E SEU ESTUDO

ORIGINAL... 69

TABELA 16:TEMPO DECORRIDO EM ANOS ENTRE A PUBLICAÇÃO DA REPLICAÇÃO E SEU ESTUDO ORIGINAL SEM AS REPLICAÇÕES PUBLICADAS JUNTAMENTE COM O ESTUDO ORIGINAL ... 70

TABELA 17:QUARTIS DO ÍNDICE DA QUALIDADE ... 92

TABELA 18:MÉDIA DO ÍNDICE DA QUALIDADE NO PERÍODO DE 1994 A 2010 ... 95

TABELA 19:MÉDIA DO ÍNDICE DA QUALIDADE NO PERÍODO DE 2011 A 2012 ... 95

TABELA 20:ÍNDICE DA AVALIAÇÃO DA QUALIDADE POR CRITÉRIO DOS ARTIGOS SEM O ESTUDO ORIGINAL INCLUÍDO ... 96

TABELA 21:QUARTIS DO ÍNDICE DA QUALIDADE DOS ARTIGOS SEM OS CRITÉRIOS ESPECÍFICOS ... 97

TABELA 22:MÉDIA DO ÍNDICE DA QUALIDADE NO PERÍODO DE 2011 A 2012 SEM OS CRITÉRIOS ESPECÍFICOS ... 99

(12)

LISTA DE GRÁFICOS

GRÁFICO 1:TOTAL DE REPLICAÇÕES POR ANO ... 43

GRÁFICO 2:TOTAL DE REPLICAÇÕES INTERNAS E EXTERNAS POR ANO ... 44

GRÁFICO 3:DISTRIBUIÇÃO DAS REPLICAÇÕES POR PAÍS NO PERÍODO DE 1994 A 2010 ... 50

GRÁFICO 4:DISTRIBUIÇÃO DAS REPLICAÇÕES POR PAÍS NO PERÍODO DE 2011 A 2012 ... 50

GRÁFICO 5:DISTRIBUIÇÃO DAS REPLICAÇÕES POR CAPÍTULO DO SWEBOK ... 56

GRÁFICO 6:DISTRIBUIÇÃO DA METODOLOGIA DE PESQUISA DE REPLICAÇÃO POR PERÍODO ... 59

GRÁFICO 7:DISTRIBUIÇÃO DA UNIDADE DE ANÁLISE DA REPLICAÇÃO POR PERÍODO ... 61

GRÁFICO 8: DISTRIBUIÇÃO DAS REPLICAÇÕES POR TEMPO DECORRIDO EM ANOS DE SUA PUBLICAÇÃO E DO SEU ESTUDO ORIGINAL NO PERÍODO DE 1994 A 2010 ... 71

GRÁFICO 9: DISTRIBUIÇÃO DAS REPLICAÇÕES POR TEMPO DECORRIDO EM ANOS DE SUA PUBLICAÇÃO E DO SEU ESTUDO ORIGINAL NO PERÍODO DE 2011 A 2012 ... 72

GRÁFICO 10:AGRUPAMENTO POR QUARTIS DO ÍNDICE DA QUALIDADE ... 94

GRÁFICO 11: AGRUPAMENTO POR QUARTIS DO ÍNDICE DA QUALIDADE SEM OS CRITÉRIOS ESPECÍFICOS ... 98

(13)

SUMÁRIO

1. INTRODUÇÃO ... 13 1.1 Objetivos ... 14 1.2 Perguntas de Pesquisa ... 14 1.3 Justificativa ... 15 1.4 Estrutura do Trabalho ... 16 2. REVISÃO DE LITERATURA ... 17 2.1 Definições De Replicação ... 17 2.2 Tipos de Replicação... 18 2.3 O SWEBOK ... 20 2.4 Estudos Empíricos ... 21 2.5 Trabalhos Relacionados ... 23 3. METODOLOGIA ... 27

3.1 Classificação do Tipo de Revisão ... 27

3.2 Equipe da Pesquisa ... 28

3.3 Critérios de Seleção ... 28

3.3.1 Critérios de Inclusão ... 29

3.3.2 Critérios de Exclusão ... 29

3.4 Fontes de Dados e Estratégia de Busca ... 29

3.4.1 Busca Manual ... 30 3.4.2 Busca Automática ... 31 3.5 String de Busca ... 32 3.6 Processo de Seleção ... 35 3.7 Extração de Dados ... 36 3.8 Avaliação da Qualidade ... 37 4. RESULTADOS DA PESQUISA ... 40

(14)

4.2 Respostas das Perguntas de Pesquisa ... 41

4.2.1 Perguntas de Pesquisa de Natureza Descritiva das Replicações ... 41

RQ01: Qual a evolução do número e tipo (interna e externa) de replicações ao longo dos anos? ... 41

RQ2: Quais indivíduos e organizações estão mais ativos em replicações? ... 45

RQ3: Quais tópicos da Engenharia de Software estão sendo abordadas nas replicações? ... 50

RQ4: Quais os métodos de pesquisa que estão sendo replicados? ... 57

4.2.2 Perguntas de Pesquisa das Interações entre as Replicações ... 61

RQ5: Que conjuntos de replicações foram encontrados? ... 61

RQ6: Será que as replicações confirmam os resultados dos estudos originais? ... 66

RQ7: Qual o tempo decorrido entre as replicações e os estudos originais correspondentes? ... 68

5. DISCUSSÃO ... 73

D1: Quais as principais diferenças nas replicações internas e externas com relação aos vários fatores analisados neste mapeamento? ... 73

D2: Quais as principais diferenças observadas entre a pesquisa de (Silva et al., 2012) e esta extensão? ... 74

D3: Qual o motivo do grande crescimento no número de replicações externas? ... 78

5.1 Limitações da Pesquisa ... 78

6. CONCLUSÕES E TRABALHOS FUTUROS ... 79

6.1 Trabalhos Futuros ... 80

6.2 Considerações Finais ... 81

REFERÊNCIAS ... 82

APÊNDICE A - Referências dos Trabalhos Teóricos de Replicação ... 86

APÊNDICE B - Referências das Replicação ... 87

APÊNDICE C - Referências dos Estudos Originais ... 90

(15)

1. INTRODUÇÃO

As replicações de estudos empíricos são essenciais para construção do conhecimento em qualquer ciência empírica. Os trabalhos de Gómez, Juristo e Vegas (2010); Mäntylä, Lassenius e Vanhanen (2010); e Silva et al. (2011) fazem a citação de Karl Popper, “Nós não levamos as nossas próprias observações muito a sério, ou aceitamos como observações científicas, até que nós tenhamos as repetido e as testado” (Popper, 1959).

Schmidt (2009) diz que “a replicação é uma das ferramentas mais importantes para a verificação dos fatos nas ciências empíricas, [...] e a replicação de um experimento para demonstrar que os mesmos resultados podem ser obtidos em qualquer outro lugar, por qualquer outro pesquisador”. Juristo e Vegas (2009) diz em seu trabalho que “a replicação de um experimento produz novos resultados, que, através da comparação com os resultados do experimento original (ou outras replicações), aumenta ou diminui a credibilidade dos resultados”. Carver (2010) cita que “um dos principais benefícios de uma replicação experimental é que ela fornece aos pesquisadores a capacidade de confirmar, refutar ou aprofundar as conclusões de um estudo anterior”. Estas citações mostram a necessidade de executar replicação em estudos empíricos, sendo essencial também na área de Engenharia de Software Empírica para confirmar ou refutar os resultados do estudo original e consequentemente construir maiores conhecimentos na área.

Em Engenharia de Software, o primeiro artigo encontrado que aborda replicação foi publicado em 1994 por Daly et al. (1994). No ano seguinte Brooks et al. (1995) elaboraram um conjunto de princípios para as replicações em Engenharia de Software Empírica.

Com a evolução da área, novos trabalhos abordaram questões importantes relacionadas a replicação na Engenharia de Software, como a comunicação entre os pesquisadores do estudo original e replicação (Vegas et al., 2006); os pacotes de laboratório para apoio na execução de replicações (Shull et al., 2008), (Kitchenham, 2008) e (Scatalon; Garcia; Correia, 2011); guidelines para relatar replicações (Carver, 2010); os diferentes tipos de replicação (Gómez; Juristo, Vegas, 2010b), (Krein; Knutson, 2010), (Gómez; Juristo; Vegas, 2010) e (Juristo; Gómez, 2012); a geração de conhecimento com as replicações (Juristo; Vegas, 2009); e, as dificuldades de se replicar estudos envolvendo aspectos humanos (Lung et al., 2008).

(16)

Em 2011, Silva et al. (2011) publicou os resultados preliminares de um mapeamento sistemático sobre replicações de estudos empíricos na Engenharia de Software. No ano seguinte, Silva et al. (2012) publicou os resultados completos do mapeamento sistemático que teve como objetivo realizar um panorama sobre o estado das replicações de estudos empíricos na Engenharia de Software. O mapeamento buscou artigos que foram publicados até o ano de 2010. Até então, estes foram os únicos trabalhos identificados nos mapeamentos sistemáticos realizados que fizeram um levantamento sobre o estado atual das replicações na Engenharia de Software Empírica.

Nesta dissertação, analisamos o estado atual das replicações na Engenharia de Software Empírica nos anos de 2011 e 2012 e comparamos os resultados com o mapeamento de Silva et al. (2012) que chamaremos a partir deste ponto de “primeiro mapeamento”.

1.1 Objetivos

O objetivo principal deste estudo é realizar a extensão do primeiro mapeamento sistemático, analisando os estudos relacionadas a replicação na Engenharia de Software Empírica e publicadas nos anos de 2011 e 2012.

Os objetivos específicos deste trabalho são:

 Pesquisar e selecionar os estudos empíricos de replicação e seus estudos originais;  Pesquisar e selecionar os trabalhos conceituais e teóricos de replicação de Engenharia

de Software Empírica;

 Extrair as informações das replicações e responder as perguntas de pesquisa secundárias definidas anteriormente;

 Realizar a comparação dos resultados deste estudo com o primeiro mapeamento.

1.2 Perguntas de Pesquisa

As perguntas de pesquisa desta dissertação foram todas retiradas do primeiro mapeamento. Como este trabalho é uma extensão do trabalho de Silva et al. (2012) utilizamos as mesmas perguntas de pesquisa para analisar nos novos resultados e depois comparar os resultados desta pesquisa com os resultados anteriores.

(17)

As perguntas de pesquisa estão divididas em dois tipos: principal e secundárias.

A pergunta de pesquisa principal é “Qual é o estado atual dos trabalhos de replicação de estudos empíricos realizados em pesquisas de Engenharia de Software?”. Esta pergunta, de caráter exploratório (Easterbrook et al., 2007), foi utilizada para guiar a busca e seleção de estudos primários.

Os dados foram extraídos e analisados dos artigos selecionados no mapeamento sistemático para responder as seguintes perguntas de pesquisa secundárias que detalham a pergunta de pesquisa principal da pesquisa:

 RQ01: Qual a evolução do número e tipo (interna e externa) de replicações ao longo dos anos?

 RQ2: Quais indivíduos e organizações estão mais ativos em replicações?

 RQ3: Quais tópicos da Engenharia de Software estão sendo abordadas nas replicações?

 RQ4: Quais os métodos de pesquisa que estão sendo replicados?  RQ5: Que conjuntos de replicações foram encontrados?

 RQ6: As replicações confirmam os resultados dos estudos originais?

 RQ7: Qual o tempo decorrido entre as replicações e os estudos originais correspondentes?

1.3 Justificativa

Diversos fatores apontam para o do aumento no interesse da comunidade científica na área de replicação de estudo empíricos na Engenharia de Software, incluindo a realização de três edições do Workshop RESER em 2010, 2011 e 2013. No entanto mesmo com o crescente interesse na área e a importância de replicação nas ciências empíricas, assim como na Engenharia de Software Empírica, não encontramos unanimidade de definições e conceitos sobre replicação na área. Consequentemente são encontradas várias definições e classificações de replicação em Engenharia de Software Empírica, como descrito no capítulo 2 desta dissertação.

É notável a necessidade de se ter consistência nas definições e conceitos da área, e principalmente publicações que retratem a área de replicação na Engenharia de Software Empírica. Para auxiliar nestes debates, nesta dissertação foi feito um levantamento do estado

(18)

atual das replicações de Engenharia de Software Empírica para comparar os resultados desta pesquisa com os resultados da pesquisa de Silva et al. (2012); além de atualizar os resultados, já que este o mapeamento foi referente aos anos de 2011 e 2012 e o primeiro mapeamento buscou artigos publicados até o ano de 2010; e por fim tornar o mapeamento sistemático mais completo.

A análise dos novos dados e comparação com os resultados anteriores pode aumentar a compreensão da área e identificar novos fatores que podem alterar os resultados e a forma de executar a replicação na Engenharia de Software Empírica, mostrando a evolução do tema ao longo dos anos; podendo assim contribuir para o debate de questões relacionadas a replicação na Engenharia de Software Empírica.

1.4 Estrutura do Trabalho

Para melhor compreensão esse trabalho foi organizado em 6 capítulos da seguinte forma:

 O primeiro capítulo trata a introdução ao trabalho, perguntas de pesquisa, objetivo e justificativa do estudo;

 O segundo capítulo mostra a revisão bibliográfica acerca do tema do presente, abordando as definições e tipos de replicação, o SWEBOK e os métodos empíricos da Engenharia de Sofware. Para finalizar no capítulo são apresentados os trabalhos relacionados a esta pesquisa;

 O terceiro capítulo mostra a metodologia utilizada e os passos para sua execução;  No quarto capítulo, com base nas perguntas de pesquisa definidas, são apresentados

os resultados encontrados e suas análises;

 O capítulo 5 trata das discussões dos resultados e limitações da pesquisa;

(19)

2. REVISÃO DE LITERATURA

Este capítulo apresenta a revisão de literatura do tema central desta dissertação, replicações na Engenharia de Software Empírica. Inicialmente são apresentadas as definições e classificações de replicação. Como não existe um consenso sobre uma taxonomia para replicação na área de Engenharia de Software, foi preciso buscar as definições e classificações também em outras ciências empíricas, mas enfatizamos as buscas na área de Engenharia de Software. Apesar das definições e classificações das replicações não serem o objetivo desta pesquisa é necessário ter uma visão das definições e classificações para assim poder incluir ou excluir um artigo e fazer a extração e análise das informações contidas nos artigos selecionados no mapeamento.

Depois de realizar o levantamento sobre replicação, suas definições e classificações abordamos: o SWEBOK, documento que utilizamos como referência para a classificação dos estudos primários em temas da Engenharia de Software; a classificação de métodos empíricos da Engenharia de Software descrita por Easterbrook et al. (2007) que foi utilizada para classificar os estudos primários; e por último os trabalhos relacionados a esta dissertação.

2.1 Definições De Replicação

Como já tratado anteriormente, não há um consenso sobre os conceitos fundamentais associados a replicações de estudos empíricos na Engenharia de Software. Nesta seção apresentamos algumas definições encontradas, inclusive por pesquisadores de outras áreas, mas em particular por pesquisadores da área de Engenharia de Software Empírica.

Em 1964, Gould e Kolb definiram replicação no Dicionário de Ciências Sociais como “uma repetição de um procedimento de pesquisa para verificar a exatidão ou veracidade das conclusões apresentadas”. Em seguida, na área de sociologia La Sorte (1972) se refere à replicação como “uma repetição consciente e sistemática de um original estudo”. Na década de 1980, a replicação novamente analisada nas Ciências Sociais é definida como uma pesquisa realizada com referência a um estudo anterior que pode ser diferente em qualquer uma das suas características principais, como tempo, localização, sujeitos e métodos (Bahr; Caplow; Chadwick, 1983). Nos anos 1990 Lindsay e Ehrenberg (1993) publicaram no

(20)

American Statistician que uma replicação pode ser adequada no início de um programa de pesquisa para estabelecer, de forma rápida, relativamente fácil e barata, se um novo resultado pode ser repetido do estudo original como um todo. Para Singh, Ang e Leong (2003) a replicação é tradicionalmente definido como a duplicação de um estudo empírico publicado anteriormente.

Na comunidade de Engenharia de Software Empírica os conceitos de replicação começaram a surgir na década de 1990. Segundo Shull et al. (2004) para efeitos de construção de conhecimento, replicação precisar ter uma definição mais ampla que a “repetição de um estudo sem fazer qualquer alteração”, assim replicação foi considerada como “estudo executado, com base no projeto e nos resultados de um estudo anterior, cujo objetivo é verificar ou ampliar a aplicabilidade dos resultados do estudo inicial”. A definição de Mendonça et al. (2008) é que “replicações são um dos principais mecanismos para confirmar os resultados experimentais anteriores. Eles também são usados para transferir conhecimento experimental, para treinar as pessoas e ampliar uma base de evidência experimental”. Juristo e Vegas (2009) citam que “replicação é a repetição de um experimento para checar seus resultados”. Por fim encontramos a definição de Gómez, Juristo e Vegas (2010) que afirmam que “o propósito de replicação é verificar as conclusões anteriormente observadas”.

Essas definições encontradas tanto na área das ciências empíricas, como na Engenharia de Software Empírica, mostram que a replicação está relacionada a uma nova execução de um estudo anterior, aqui chamado de estudo original. As referências e a relação explícita aos estudos originais é uma condição necessária para existência de uma replicação, ou seja, os estudos empíricos que não fazem referência a um estudo anterior não devem ser considerados replicação.

2.2 Tipos de Replicação

Entre os tipos e classificações da replicação também não encontramos um consenso. Basili, Shull e Lanubile (1999) citam que as replicações podem ser classificadas em três categorias:

1. Replicações que não variam nenhuma hipótese de pesquisa: replicações deste tipo não variam nenhuma variável dependente e independente do estudo original;

2. Replicações que variam a hipótese de pesquisa: replicações deste tipo variam atributos do processo, do produto, e os modelos de contexto, mas permanece no mesmo nível de especificidade como o estudo original;

(21)

3. Replicações que estendem a teoria: essas replicações ajudam a determinar os limites da eficácia de um processo, por fazer grandes alterações no processo, produto e/ou modelos de contexto para ver se os princípios fundamentais ainda se mantêm.

Juristo e Vegas (2009); Mäntylä, Lassenius e Vanhanen (2010); e Mockus, Anda e Sjøberg (2010) usaram em seus artigos as classificações de Lindsay, Ehrenberg (1993) que dividiu as replicações em replicação próxima e replicação diferenciada. A replicação próxima “tenta manter quase todas as condições conhecidas do estudo original, quase a mesma coisa ou pelo menos muito semelhante”; e a replicação diferenciada “envolve variações deliberadas, ou pelo menos conhecidas”. O trabalho de Goulão; Brito e Abreu (2007) usa a mesma classificação de Lindsay, Ehrenberg (1993), mas não citam essa referência em seu trabalho.

Semelhante à classificação de Lindsay, Ehrenberg (1993), Shull et al. (2008) classificam as replicações em dois tipos: replicações exatas que “os procedimentos do experimento são seguidos tão próximos quanto possível”; e replicações conceituais em que “a mesma pergunta de pesquisa é avaliada usando um procedimento experimental diferente”. Mäntylä, Lassenius e Vanhanen (2010) também usa esta classificação em seu trabalho.

Mesmo com todos esses trabalhos publicados utilizando a classificação de Lindsay, Ehrenberg (1993) e suas variações, nesta pesquisa não utilizamos esta classificação por duas questões:

1. É possível realizar uma replicação empírica do tipo exata ou próxima?

Encontramos na literatura que a replicação empírica exata não é possível, pois é muito difícil conseguir a configuração exata do estudo original, mesmo as pesquisas realizadas com os mesmos pesquisadores, no mesmo local, com os mesmos sujeitos, não foi possível obter a mesma configuração (Vegas et al., 2006), (Miller, 2005) e (Juristo; Vegas, 2009). A replicação idêntica só é possível nas ciências naturais, como física, matemática, etc.; nas ciências sociais a replicação reproduz o estudo tão estreitamente quanto possível (Juristo; Vegas, 2009).

2. Até que ponto poderá classificar uma replicação como exata ou próxima?

“O contexto de uma experiência de Engenharia de Software cobre centenas de variáveis, e nós ainda não sabemos quais são de grande importância”. Essa citação de Juristo e Vegas (2009) mostra que a imaturidade da Engenharia de Software Empírica ainda não permite definir até que ponto uma replicação ainda é próxima ao original, isso devido o não conhecimento de todos as variáveis e a sua relevância na execução de cada estudo. Assim, a alteração de uma variável que os pesquisadores não acham relevante poderá

(22)

consequentemente alterar outras variáveis e a replicação não ser mais tão semelhante ao original.

Os artigos de Miller (2005); Brooks et al. (2007); Mockus, Anda e Sjøberg (2010); e Mendonça et al. (2008) citam que existem dois tipos de replicações: internas e externas. A replicação interna é realizada pelo mesmo grupo de pesquisadores que conduziu o experimento original; a replicação externa é realizada por um grupo de diferentes pesquisadores, podendo reduzir a probabilidade de viés do pesquisador.

Devido às questões levantadas acima e também a classificação usada por Silva et al. (2012), nesta dissertação usamos a classificação das replicações como internas ou externas. A replicação interna foi entendida quando qualquer pesquisador envolvido na pesquisa inicial também participou da sua replicação; e a replicação foi considerada externa caso nenhum dos pesquisadores estivessem envolvidos no estudo original e replicação.

2.3 O SWEBOK

O SWEBOK é um guia da área de Engenharia de Software criado com vários objetivos, entre eles: para promover uma visão consiste da Engenharia de Software entre pesquisadores e praticamente; esclarecer o local e o conjunto de limites da Engenharia de Software com relação a outras disciplinas como ciência da computação, gerenciamento de projetos, engenharia da computação, e matemática; caracterizar o conteúdo da disciplina de Engenharia de Software; permitir acesso aos tópicos do corpo de conhecimento da Engenharia de Software; e fornecer uma base para o desenvolvimento curricular e para certificação individual e material de licenciamento (SWEBOK, 2004).

Para concretização deste guia o desenvolvimento inicial passou por 500 revisores de 42 países para sua versão trial e depois passou por mais 120 revisores de 21 países e conduzido pelo IEEE, resultando no guia SWEBOK (2004). Estes dados extraídos do próprio guia mostra a sua relevância na área e consistência das informações na sua construção.

Para realizar a classificação das replicações e responder a RQ3 definida no capítulo 1, utilizamos como referência o SWEBOK versão 2004, para manter a consistência e comparabilidade com o primeiro mapeamento. Este guia é dividido em 12 capítulos, sendo o capítulo 1 a introdução do guia e o capítulo 12 as disciplinas relacionadas da Engenharia de Software, cada um dos demais capítulos apresenta uma área da Engenharia de Software: Requisitos de Software, Design de Software, Construção de Software, Teste de Software, Manutenção de Software, Gerenciamento de Configuração de Software, Gerenciamento de

(23)

Engenharia de Software, Processo de Engenharia de Software, Ferramentas e Métodos de Engenharia de Software, e Qualidade de Software.

2.4 Estudos Empíricos

Na abordagem desta pesquisa, selecionamos apenas estudos empíricos que foram executados na área de Engenharia de Software, ou seja, dentro de algum dos temas abordados no SWEBOK versão 2004. Para a classificação dos estudos empíricos utilizamos o trabalho de Easterbrook et al. (2007) que classifica os estudos empíricos de cinco categorias: experimento controlado, estudo de caso, survey ou pesquisa de campo, etnografia e pesquisa-ação.

Para escolher o método de pesquisa apropriado é necessário definir a pergunta de pesquisa e a postura filosófica dos pesquisadores que irão ajudar a escolher o melhor método para a pesquisa, além das considerações práticas para realização de cada pesquisa. Os detalhes das perguntas de pesquisa, postura filosófica e questões práticas não serão abordados neste capítulo, já que não é o objetivo da pesquisa. As características de cada método de pesquisa de acordo com Easterbrook et al. (2007) são descrita abaixo.

O experimento controlado apresenta uma hipótese para ser testada, onde as variáveis independentes são manipuladas para medir seu efeito sobre as variáveis dependentes. Este método permite determinar se existe uma relação de causa-efeito entre as variáveis. As variáveis independentes devem ter uma combinação de valores denominada tratamento, onde os experimentos mais simples são os que possuem apenas dois tratamentos, por exemplo: usar uma ferramenta ou não usar uma ferramenta. A hipótese do experimento é uma pré-condição para sua realização, é esta hipótese que irá orientar todas as etapas do projeto experimental, definir as variáveis do estudo e como medí-las. O controle do experimento também é importante para não afetar o experimento, assim como a atribuição aleatória dos sujeitos. No caso da não possibilidade da atribuição aleatória dos sujeitos para cada tratamento, classificamos o método como um quasi-experimento.

O estudo de caso é definido por Yin (2009) como uma investigação empírica de um fenômeno dentro de seu contexto de vida real, podendo oferecer a compreensão de como e porquê certos fenômenos ocorrem e os mecanismos pelos quais as relações de causa-efeito podem ocorrer. Os estudos de caso podem ser exploratórios ou confirmatórios. Os estudos de caso exploratórios são usados como investigações iniciais de alguns fenômenos para derivar novas hipóteses e construir teorias, já os estudos de caso confirmatórios são usados para testar

(24)

as teorias existentes e para escolha entre teorias rivais. A seleção do caso é um passo crucial no estudo de caso. Estudo de caso utiliza amostragem intencional ao invés de amostragem aleatória, para selecionar os casos que são mais relevantes para o estudo. Uma variedade de diferentes fontes de dados é normalmente utilizada, incluindo entrevistas e observação, já que oferecem informações ricas sobre o caso.

A pesquisa de campo ou survey é utilizada para identificar as características de uma ampla população de indivíduos. É estreitamente associado com o uso de questionários para coleta de dados, mas pode ser realizada por meio de entrevistas estruturadas ou outras técnicas de registro de dados. As principais características do survey são a seleção de uma amostra representativa e bem definida de uma população e o uso de técnicas de análise de dados para generalizar o resultado a partir da amostra.

A etnografia é uma forma de pesquisa com foco na sociologia do significado através da observação de campo, com o objetivo de estudar uma comunidade de pessoas. Para a Engenharia de Software, a etnografia pode ajudar a compreender como as comunidades técnicas construíram uma cultura de práticas e estratégias de comunicação que lhes permite executar o trabalho técnico colaborativamente. Uma característica importante da etnografia é que ela evita a imposição de teorias pré-existentes e se concentra em como os membros da comunidade dão sentido ao seu ambiente social e cultural. Uma forma importante de coleta de dados em estudos etnográficos é a observação participante, onde o pesquisador se torna um membro da comunidade a ser estudada por um período de tempo, não estando o pesquisador tentando compreender a comunidade através das observações de um estranho, mas sim através da visão privilegiada de quem participa da comunidade. Os pesquisadores etnográficos não procuram provar hipóteses e teorias, mas sim criar teorias locais para melhorar a compreensão sobre a comunidade estudada.

Na pesquisa-ação os pesquisadores tentam resolver um problema do mundo real através de uma abordagem científica e sistemática. Embora a maior parte dos métodos de pesquisa empírica tenta observar como o mundo existe atualmente, a pesquisa-ação visa intervir nas situações estudadas com o objetivo explícito de melhorar a situação. Para realização da pesquisa é necessário que o “dono” do problema esteja disposto a identificar e resolver o problema. Os dois principais critérios para julgar a qualidade da pesquisa-ação são se o problema original é autêntico e se existem resultados para os participantes. A pesquisa-ação também é caracterizada por um compromisso de efetuar a mudança real.

(25)

Para realizar a classificação dos métodos das replicações e responder a RQ4 definida no capítulo 1, utilizamos como referência o artigo de Easterbrook et al. (2007) para manter a consistência e comparabilidade com o primeiro mapeamento.

2.5 Trabalhos Relacionados

Nesta seção serão apresentados quatro trabalhos relacionados ao tema desta pesquisa.

1. A Survey of Controlled Experiments in Software Engineering (Sjøberg et al., 2005)

Esta pesquisa foi publicada em 2005 no IEEE Transactions on Software Engineering. O artigo caracteriza quantitativamente os experimentos controlados publicados no período de 1993 a 2002 em 9 periódicos e 3 conferências da área, extraindo autoria, tópicos do experimento, sujeitos, tarefas desenvolvidas, ambiente de desenvolvimento, e tratamento de validade interna e externa.

Para seleção dos trabalhos, foi feita uma revisão sistemática de literatura manual, sendo assim não utilizou string de busca, já que não realizou busca automática. Esta seleção foi feita por duplas de pesquisadores e as diferenças entre as duplas foram tratadas coletivamente e, quando necessário, com a participação de um terceiro pesquisador.

Dos 5.453 trabalhos encontrados nos periódicos e conferências da busca, através da leitura de título e resumo, 103 estudos foram selecionados, dos quais 20 foram classificadas como replicação e agrupadas em 14 séries de replicação (original e suas replicações) que estão determinadas no artigo.

Para análise das replicações selecionadas foi extraído do texto os tópicos da replicação; sujeitos, classificados como estudantes ou profissionais; confirmação do estudo original, classificados como confirmação ou rejeição; autores, classificados como mesmo, no caso de replicação interna, ou diferente, no caso de replicação externa; tipo de replicação, classificada como replicação próxima ou diferenciada de acordo com (Lindsay; Ehrenberg, 1993); e outras diferenças observadas.

A maioria das replicações foi realizada nas áreas de inspeção e manutenção (35%), tiveram como sujeito os estudantes (70%), confirmaram os estudos originais (60%), foram executadas pelos mesmos pesquisadores (55%) e executaram replicação diferenciada (75%). Como o foco desta revisão era experimentos controlados e não replicações, a revisão não tem uma ampla cobertura dos artigos de replicação e suas análises.

(26)

2. Replication of Controlled Experiments in Empirical Software Engineering – A Survey (ALMQVIST, 2006)

A pesquisa de Johan Per Fredrik Almqvist é uma dissertação de mestrado publicada em 2006 pelo Departamento de Ciência da Computação, na Faculdade de Ciências da Lund University. Apesar de ser uma dissertação, de acordo com Silva et al. (2012) esta pesquisa tem sido citada em vários artigos da área.

Esta dissertação teve como objetivo estudar o uso de replicação em experimentos controlados da Engenharia de Software Empírica do ponto de vista teórico e prático. Para encontrar os estudos replicados, o autor realizou uma revisão sistemática seguindo as diretrizes de (Kitchenham, 2004), com algumas variações necessárias já que algumas diretrizes não eram aplicáveis ao estudo.

A busca da revisão sistemática foi realizada na biblioteca eletrônica da Lund University, a Electronic Library System, que é composta com mais de 300 bases de dados e 11.000 revistas e conferências, utilizando uma string de busca com sinônimos para “replication” e “software engineering”. Não citou os critérios e inclusão e exclusão, e todas as etapas foram realizadas apenas pelo próprio autor.

A pesquisa retornou 51 casos de experimento controlato relatados em 42 artigos, divididos em 20 séries de experimentos que traziam 31 replicações. Este autor adicionou 6 séries de experimentos e 11 replicações as encontradas no estudo de (Sjøberg et al., 2005).

Foram extraídos dos experimentos controlados os autores da pesquisa, o tipo de replicação (interna/externa, próxima/diferenciada), a motivação, ano de publicação, diretrizes, mudanças, incentivos para replicar, tópico/tema, sujeitos, tarefas e materiais, hipótese e pergunta de pesquisa, e confirmação do resultado original.

A maioria das replicações foram publicadas no Empirical Software Engineering Journal; confirmaram o estudo original; foram publicadas em 1997; os autores que mais realizaram replicações foram John Daly, James Miller e Oliver Laitenberger; os tópicos mais abordados foram técnicas de inspeção e orientação a objetos; e em geral as replicações internas confirmam e as replicações externas refutaram o resultado original.

(27)

A pesquisa também descreve como os autores descrevem sua experiência com replicação em relação aos pacotes de laboratório, as motivações para ter realizado a replicação e o uso de alunos como sujeito da pesquisa.

De acordo com o autor, esta foi a primeira pesquisa sobre replicação na Engenharia de Software Empírica.

3. Towards Reporting Guidelines for Experimental Replications: A Proposal (Carver, 2010)

A pesquisa de Jeffrey C. Carver foi publicada em 2010 no primeiro workshop RESER (Workshop on Replication in Empirical Software Engineering Research). O artigo visa determinar diretrizes para relatar replicações experimentais e assim padronizar os relatos das replicações.

Para determinar as diretrizes do relatório de replicação, Carver (2010) fez uma revisão de literatura focada em replicação no International Symposium on Empirical Software Engineering (ISESE) e no Empirical Software Engineering Journal (ESE). Para realizar a busca, usou os termos “replication” e “replicated”, identificando 15 trabalhos que foram o foco da pesquisa. O período que foi realizado a revisão de literatura não foi determinada pelo autor.

Os 15 artigos foram analisados e descobriram que em geral não foram relatados de forma consistente, não tiveram as mesmas informações e nem o mesmo nível de detalhe; as informações sobre o estudo original também sofreram dos mesmos problemas.

Carver (2010) deixa claro que não tem como objetivo fazer avaliações críticas das replicações, e sim da sua documentação. Com suas observações, propôs um guideline para documentar os estudos de replicação. No estudo original deve ser relatado a questão de pesquisa, participantes, design, artefatos, variáveis de contexto e resumo dos resultados. Na replicação deve ser relatado a motivação para conduzir a replicação, o nível de interação com os pesquisadores originais e alterações do estudo original. Por fim, deve também relatar a consistência e diferença dos resultados.

(28)

4. Replication of empirical studies in software engineering research: a systematic mapping study (Silva et al., 2012)

Este mapeamento foi publicado no Empirical Software Engineering Journal em 2012 que teve como objetivo traçar o panorama das replicações de estudos empíricos na Engenharia de Software publicadas até o ano de 2010.

Realizou um mapeamento sistemático em 5 engenhos de busca, realizando busca automática; e 8 periódicos e conferências da área, realizando a busca manual. Determinou a string de busca, critérios de inclusão e exclusão, e as etapas de busca, seleção, extração dos dados e avaliação da qualidade foram realizadas por duplas de pesquisadores, minimizando o viés da pesquisa.

A busca encontrou mais de 16.000 artigos, dos quais foram selecionados 96, que estão incluídos todos os artigos encontrados nos dois trabalhos relacionados acima. Os 96 artigos selecionados continham no total 133 replicações realizadas entre 1994 e 2010 e formavam 72 conjuntos de replicações (original e suas replicações) que estão descritos no artigo.

Para análise dos dados das replicações selecionadas foram extraídos ano de replicação; tipo de replicação, classificada como interna ou externa; autores e organização que executaram a replicação; tópico de Engenharia de Software, baseado no SWEBOK (2004); método de pesquisa; estudo original e os conjuntos de replicação; confirmação ou não do estudo original; e distância temporal entre a publicação do estudo original e sua replicação.

Quase 70% das replicações foram publicados depois de 2004 e este mesmo percentual se repete entre as replicações internas. Os tópicos Requisitos de Software, Construção de Software e Qualidade de Software correspondem a mais de 55% das replicações. O método de quasi-experimento concentra 61% das replicações, e o tempo médio decorrido entre a publicação do estudo original e a replicação foi de 2,1 anos. Dentre os artigos selecionados neste mapeamento e no primeiro mapeamento, esta foi a pesquisa com maior cobertura de artigos sobre replicação. Esta dissertação é o resultado de uma extensão deste trabalho relacionado.

(29)

3. METODOLOGIA

Este estudo é uma atualização da pesquisa publicada por Silva et al. (2012), que visou traçar um panorama geral das replicações publicadas na área de Engenharia de Software Empírica até o ano de 2010. Com base no protocolo definido por estes autores, realizamos uma atualização do estudo para incluir as publicações realizadas nos anos de 2011 e 2012. O protocolo foi seguido e as modificações do protocolo foram ilustradas ao longo deste capítulo. É importante enfatizar que nesta dissertação o termo “artigo” se refere a trabalhos publicados que foram analisados. O termo “estudo original” ou simplesmente “original” e o termo “replicação” se refere a um único estudo empírico publicado em um artigo. Um artigo pode apresentar um ou mais estudos empíricos. Em particular, um artigo pode apresentar o estudo original e uma ou mais replicações. O termo “estudo” se refere a uma replicação ou estudo original quando a distinção entre os termos não é importante.

3.1 Classificação do Tipo de Revisão

Na literatura, os estudos secundários sistemáticos são comumente classificados em dois tipos:

 Revisão Sistemática convencional (Petticrew; Roberts, 2006) que agregam resultados sobre a eficácia de um tratamento, intervenção ou tecnologia, e estão relacionadas a questões de pesquisa específicas. Kitchenham e Charters (2007) definiram Revisão sistemática como “a forma de um estudo secundário que usa uma metodologia bem definida para identificar, avaliar e interpretar todas as evidências disponíveis relacionadas a uma questão de pesquisa específica”;

 Mapeamento Sistemático ou Estudo de Escopo (Arksey; O’Malley, 2005) que tenta identificar todas as pesquisas relacionadas a um tema específico, respondendo a questões mais amplas relacionadas à evolução da investigação, em geral questões exploratórias. Kitchenham e Charters (2007) definiram mapeamento sistemático como “uma ampla revisão de estudos primários em uma área temática específica que tem como objetivo identificar quais as evidências disponíveis sobre o tema”.

(30)

Neste estudo, a questão de pesquisa central é uma questão ampla de natureza exploratória, sendo assim considerado um mapeamento sistemático. Esta dissertação é classificada como um estudo secundário já que faz um mapeamento dos estudos primários. Para realização do estudo seguimos o protocolo definido na pesquisa de Silva et al. (2012) e as recomendações de Kitchenham, Charters (2007) e de Petticrew, Roberts (2006) sobre revisão e mapeamento sistemático de literatura para execução da pesquisa. O objetivo é colher evidências que poderiam ser usadas para orientar a pesquisa e prática, por isso consideramos este estudo de mapeamento como parte do esforço de Engenharia de Software baseada em evidência (Kitchenham; Dyba; Jorgensen, 2004).

3.2 Equipe da Pesquisa

Para a elaboração do protocolo de estudo, busca e seleção dos estudos, a equipe foi formada por três alunos, sendo dois alunos de Mestrado: Roberta Bezerra, autora desta dissertação, e Anderson Santana; e um aluno de Doutorado: Marcos Suassuna. Para a extração dos dados e avaliação da qualidade, dois novos alunos de Mestrado foram adicionados à equipe: Cleyton Vanut e Ronnie Santos. A análise e discussão, bem como a escrita desta dissertação, foi realizada pela autora a partir dos dados brutos extraídos pela equipe. A autora participou de todas as duplas de extração de dados. Todos os alunos mencionados fazem parte do programa de pós-graduação do CIn-UFPE. Todas as fases da pesquisa foram supervisionadas pelo orientador desta pesquisa, o Professor Fabio Silva.

As etapas da pesquisa que foram realizadas por duplas de pesquisadores e nos caso de conflito um terceiro pesquisador resolveu as divergências, estes conflitos foram resolvidos pelo aluno de Doutorado Marcos Suassuna. As etapas realizadas por duplas de pesquisadores e intermediada por um terceiro pesquisador nos casos de conflito, pode produzir resultados mais confiáveis (Kitchenham e Charters, 2007) e com um menor viés nos resultados, sendo que cada componente da dupla trabalhou individualmente e ao final de cada etapa os resultados eram confrontados.

3.3 Critérios de Seleção

Os critérios de seleção definidos indicam as razões pelas quais um determinado estudo foi selecionado ou excluído durante as buscas. Baseado nos critérios de inclusão, a pesquisa

(31)

poderá ser selecionada. Se um artigo responde a pelo menos um dos critérios de exclusão, ele será excluído da seleção.

3.3.1 Critérios de Inclusão

Para ser selecionado para essa pesquisa, o artigo se enquadrou em pelo menos um dos itens abaixo:

 Replicações de estudos empíricos em Engenharia de Software;

 Trabalhos conceituais e teóricos sobre replicações, incluindo teorias, definições, taxonomias, lições aprendidas, metodologias, etc.

3.3.2 Critérios de Exclusão

Um artigo foi excluído caso tenha se enquadrado em pelo menos dos critérios de exclusão abaixo:

 Ano de publicação diferente de 2011 ou 2012;  Não escrito em Inglês;

 Não disponível na Web;

 Artigos de palestras convidadas, keynotes, relatórios de workshops, livros, teses e dissertações.

 Documentos incompletos, rascunhos, slides de apresentações e resumos estendidos;  Estudos secundários, terciários e meta-análises;

 Endereçando áreas da ciência da computação que não são claramente Engenharia de Software (por exemplo, sistemas de banco de dados, interação homem-máquina, redes de computadores, etc.);

 Endereçando replicação somente como parte de trabalho futuro. 3.4 Fontes de Dados e Estratégia de Busca

Para ampliar as bases de dados e atingir uma maior cobertura no processo de busca dos artigos, foram utilizados dois tipos de busca de dados: buscas manuais e buscas automáticas. A buscas manual, para esse contexto, procurou estudos em revistas, jornais, anais de conferências, congressos e simpósios voltados para a área de Engenharia de Software. Já a

(32)

busca automática teve como fontes de dados os engenhos de busca que são ferramentas que disponibilizam nos seus repositórios, as diversas revistas de conferências e das bibliotecas digitais dos órgãos que servem de referência para realização de eventos da Engenharia de Software.

Todo o processo de busca, manual e automática, foi executado por uma dupla de pesquisadores que realizaram os mesmos procedimentos nas mesmas fontes de pesquisa independentemente e depois compararam os resultados e trataram as diferenças. Em caso de diferenças não resolvidas, um terceiro pesquisador resolveu os conflitos. Abaixo segue a forma de execução de cada processo de busca.

3.4.1 Busca Manual

Nesta busca, os periódicos e anais das eventos científicos foram consultados para o período 2011-2012. Este tipo de busca é necessária para cobrir um maior número de artigos que os engenhos de busca não tenham indexado ao seu repositório, já que as pesquisas mais recentes podem não ser encontrados nos engenhos de busca, sendo necessária a busca no local de publicação do artigo.

Petticrew e Roberts (2006); e Kitchenham e Charters (2007) citam em seus trabalhos a necessidade de usar a busca manual para ampliar a cobertura da busca e complementar os casos que ainda não foram indexados pelos engenhos de busca.

Nesta busca manual acrescentamos mais 3 fontes de dados em relação ao primeiro mapeamento, e nenhuma fonte manual do primeiro mapeamento foi excluída. As novas fontes manuais foram escolhidas de acordo com os dados obtidos no primeiro mapeamento, onde foram encontradas várias replicações publicadas no ESEC, ICSM e JSS, por isso a necessidade de acrescentar estas fontes.

As fontes manuais utilizadas nesta busca foram:

 ACM Transactions on Software Engineering Methodologies (http://tosem.acm.org/)

 IEEE Transactions on Software Engineering

(http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32)  Empirical Software Engineering Journal (ESE)

(http://www.springerlink.com/content/100262/)  Information and Software Technology Journal (IST)

(33)

(http://www.sciencedirect.com/science/journal/09505849)  Int. Conference on Software Engineering (ICSE)

(http://www.icse-conferences.org/)

 Int. Conference on Evaluation and Assessment of Software Engineering (EASE) (http://www.scm.keele.ac.uk/ease/)

 Int. Symposium on Empirical Software Engineering and Measurement (ESEM) (www.esem-conferences.org/)

 Int. Ws. on Replication in Empirical Software Engineering Research (RESER) (http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6148329)  European Software Engineering Conference (ESEC)

(http://2011.esec-fse.org/)

 Int. Conference Software Maintenance (ICSM) (http://conferences.computer.org/icsm/)

 Journal of Systems and Software (JSS)

(http://www.journals.elsevier.com/journal-of-systems-and-software/)

3.4.2 Busca Automática

Neste mapeamento a busca automática foi realizada em 5 engenhos de busca no período de 2011-2012. Tendo como uma das principais características da busca automática, o uso de string de busca para fazer a pesquisa nos engenhos definidos, a string deste mapemaento foi determinada a partir de 2 termos extraídos da pergunta de pesquisa principal, são eles: replicação e engenharia de software. A definição da string de busca se encontra na seção 3.5. Em todos os engenhos de busca a pesquisa foi realizada no texto completo dos artigos, não limitado a busca a por exemplo, a títulos, resumos e palavras-chave.

Todos os resultados encontrados neste processo de busca automática foram armazenados no formato bibtex para possibilitar a análise dos resultados no gerenciador de referências, o Mendeley. Assim, os dados retornados pelos engenhos de busca foram verificados se são de fato relevantes para o estudo.

Na busca automática, o engenho de busca JSTOR, utilizado no primeiro mapeamento, foi excluído, e no seu lugar o Springer foi incluído. Isso aconteceu devido ao pequeno número de artigos encontrados no JSTOR no primeiro mapeamento. Portanto, para ampliar a

(34)

possibilidade de encontrar novos artigos, incluímos a base de dados do Springer para se ter uma maior cobertura nas fontes automáticas.

A relação de fontes automáticas é listada abaixo:  ACM Digital Library

(http://portal.acm.org)  IEEE Xplore Digital Library

(http://www.ieeexplore.ieee.org)  ScienceDirect (http://www.sciencedirect.com)  SCOPUS (http://www.scopus.com)  Springer (http://www.springerlink.com) 3.5 String de Busca

A string de busca desta dissertação é derivada da string de busca do primeiro mapeamento. No primeiro mapeamento a string de busca foi dividida em 3 termos da pergunta de pesquisa principal: “Replication”, “Empirical” e “Software Engineering”. Os sinônimos dos termos escolhidos foram encontrados na literatura e em conversa com especialistas da área. Para construir a string de busca, os sinônimos de cada termo foram separados pelo conectivo OR e os conjuntos de sinônimos para cada termo foram separados pelo conectivo AND. Ao final dos testes e ajustes, o primeiro mapeamento definiu sua string de busca que está demonstrada na Figura 1.

(35)

Figura 1: String de busca do primeiro mapeamento

Em conversa com especialistas, observamos que alguns sinônimos da string do primeiro mapeamento não eram necessárias, então simplificamos a string de busca e depois confirmamos se as strings eram compatíveis.

Iniciamos diminuindo alguns sinônimos do primeiro termo, “Replication”, que não eram usados nos artigos selecionados. Os sinônimos desta palavra passou de 17 para apenas 4 sinônimos neste mapeamento. O segunda termo, “empirical”, foi excluído da string de busca, tornando-a mais simples e possibilitando aumentar os resultados da busca e encontrar replicações que não utilizavam ao longo do texto algum sinônimo de “empirical”. O terceiro e último termo, “software engineering”, foi preservado, não foi incluído nenhum sinônimo e nem excluído, já que na primeira string não tinha também nenhum sinônimo para este termo.

A modificação da primeira string resultou na string demonstrada na Figura 2.

and

("empirical" OR "experimental" OR "experiment" OR "experiments" OR "case study" OR "case studies" OR "ethnography" OR "ethnographic study" OR "ethnographic studies" OR "survey" OR "surveys" OR "action research" OR "quasi-experiment" OR "field research")

and

("software engineering")

("replication" OR "replications" OR "reproduction" OR "reproductions" OR "reanalysis" OR "re-analysis" OR "empirical generalization" OR "generalization and extension" OR ("reproducibility" AND "experiment") OR "conceptual extension" OR "corroboration" OR "checking of analysis" OR "complete secondary analysis" OR "restricted secondary analysis" OR "pseudoreplication“ OR "duplication" OR "conceptual extension" OR "empirical generalization“ OR "model comparisons")

(36)

Figura 2: String de Busca

Definida a nova string de busca, tivemos que mostrar a compatibilidade das duas strings, para isso primeiramente nos engenhos de busca determinados no primeiro mapeamento, inserimos a nova string, restringimos os resultados até o ano de 2010 e buscamos todos os REPs e ABOs selecionados no primeiro mapeamento. Nesta dissertação definimos como REP as replicações executadas, ABO como os artigos teóricos sobre replicação e ORI como os estudos originais das replicações executadas.

Dos 96 REPs e 41 ABOs selecionados, apenas 9 não foram encontrados nos engenhos de busca. No entanto estes artigos não encontrados foram resultados da busca manual do primeiro mapeamento, por isso não foram encontrados também neste teste. Esse resultado nos mostrou que as duas strings de busca eram compatíveis, já que nos mesmos engenhos de busca, selecionando o mesmo período e com strings diferentes, os artigos encontrados foram os mesmos.

Para saber se realmente a nova string de busca era mais abrangente que a primeira, voltamos nos engenhos de busca utilizados nesta pesquisa, utilizamos a primeira string de busca, restringimos os resultados para os anos de 2011 e 2012 e buscamos todos os REPs e ABOs selecionados nesta dissertação. Ao final dos 39 REPs e 10 ABOs, 3 artigos não foram encontrados. Estes artigos não encontrados, diferentemente da busca anterior, resultado da busca automática e não foram publicados em nenhuma das fontes de busca manual. Esse resultado mostrou que apesar da string de busca desta dissertação ser menor que a anterior, ela consegue ter maior abrangência, podendo selecionar novos resultados que se utilizado a primeira string, estes artigos não seriam selecionados.

(“Software Engineering”)

and

(“Replication” OR “Replications” OR “Replicate” OR “Replicated” OR “Replicating”)

(37)

A partir dos resultados das duas buscas podemos inferir que as duas strings de busca são compatíveis e que a nova string consegue obter resultados que não seriam encontrados no caso de utilizar a primeira string, por isso, para esta pesquisa utilizamos uma string de busca, mais simples, fácil de interpretar pelo engenho de busca e com um maior número de estudos selecionados.

3.6 Processo de Seleção

O processo de busca manual e automática retornaram aproximadamente 7000 artigos. Todos os artigos encontrados neste processo de busca foram analisados individualmente por dois pesquisadores de forma independente. Inicialmente realizamos uma primeira seleção dos estudos obtidos na fase de busca manual e automática, analisando o título e resumo. Os estudos que fossem potencialmente relevantes, tiveram o resumo, introdução e conclusão lidos e aplicados os critérios de inclusão por cada pesquisador. O artigo foi selecionado caso obedecesse a um dos critérios de inclusão.

A aplicação dos critérios de inclusão permitiu a classificação dos estudos em REP, os que se encaixam no primeiro critério de inclusão; e ABO, os que se encaixam no segundo critério de inclusão. Para cada estudo REP selecionado se fez uma busca manual para identificação do ORI respectivo. Caso o estudo original não estivesse escrito em inglês, o estudo foi excluído assim como todas as suas replicações.

Após esta primeira seleção, os resultados foram confrontados pela dupla de pesquisadores e em caso de divergências não resolvidas um terceiro pesquisadores resolveu o conflito. Nesta primeira fase foram selecionados 57 artigos considerados relevantes para extração dos dados.

Os 57 artigos que resultaram da etapa anterior passaram para última fase do processo de seleção. Nesta fase, os estudos selecionados pelos pesquisadores foram lidos em sua totalidade para a compreensão total do texto. A leitura completa do texto permitiu a aplicação dos critérios de exclusão resultando em 39 artigos REPs, 10 artigos ABOs e 35 estudos ORIs. Como o foco desta dissertação não são os trabalhos ABOs, este conjunto de artigos não foram analisados.

Para aumentar a confiabilidade dos resultados, nesta fase todas as etapas da seleção foram realizadas por dois pesquisadores. Depois de cada pesquisador analisar e classificar cada estudo individualmente, os resultados foram analisados e as divergências confrontadas.

(38)

Em caso de divergências não solucionadas pela dupla, um terceiro pesquisador resolveu o conflito.

Todas as etapas do processo de seleção dos REPs e ABOs estão descritas detalhadamente na Figura 3. Não houve etapa de exclusão de estudos duplicados, já que todos os resultado do processo de busca manual e automática estavam armazenados no gerenciador de referências Mendeley. Este gerenciador mostra automáticamente os estudos duplicados, não sendo necessário releituras dos estudo duplicados, assim os estudos duplicados foram excluídos automaticamente pelo gerenciador de referências a medida que novas pesquisas eram realizadas e foram encontrados os estudos duplicados.

Figura 3: Resultados do processo de seleção

3.7 Extração de Dados

Pesquisa automática Pesquisa manual

4.840 Resultados da pesquisa 1.956 Resultados da pesquisa Primeira seleção Seleção final 6.796 Estudos encontrados 57

Estudos potencialmente relevantes

49 Estudos relevantes Pesquisa manual dos originais 84 Resultados da pesquisa - 39 REPs - 10 ABOs - 35 ORIs

Referências

Documentos relacionados

Figura 2 - Expositor de alimentos in natura ou minimamente processados, alimentos processados e ultraprocessados baseado no Guia Alimentar para a População

Dessa forma, a conclusão que se tem é que o processo de construção da identidade do professor de Educação Física abarca um conjunto de prática pedagógica e

Já o Ministério do Turismo (2010), divulga não apenas as atribuições gerais que o guia deve cumprir, mas também as atribuições específicas de acordo com a

E é justamente por uma doença respiratória, sistema do qual a boca faz parte, que a personagem morre, sendo a boca um dos primeiros objetos da sexualidade

Nesse sentido, entende-se que escola deveria procurar desenvolver um trabalho baseado em brincadeiras, incentivando as crianças por meio do brincar, pois seria um passo

Kulčar 40 , encontrou benefícios semelhantes (Tabela 3) e, além disso, ao acompanhar os membros permanentes do grupo por um período de 10 anos, constatou uma

A origem do nome Açaí é que nós justamente tivemos o trabalho né, foi o processo foi feito com o SEBRAE né, foi dado as aulas pra nós, aí então, lá no curso ela pediu pra

A função gerente de obras torna-se cada vez mais necessária na construção civil, pois o setor está cada vez mais desenvolvendo e aprimorando a área de coordenação