Você está na página 1de 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/267826189

Abordagem para Desenvolver Tecnologia de Software com Apoio de Estudos


Secundários e Primários

Article

CITATIONS READS

2 177

3 authors:

Rodrigo Spínola Arilo Claudio Dias Neto


Universidade Salvador Federal University of Amazonas
48 PUBLICATIONS 364 CITATIONS 64 PUBLICATIONS 554 CITATIONS

SEE PROFILE SEE PROFILE

Guilherme Horta Travassos


Federal University of Rio de Janeiro
316 PUBLICATIONS 3,647 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Investigating the Identification of Technical Debt through Code Comment Analysis View project

Technical Debt and its Management View project

All content following this page was uploaded by Guilherme Horta Travassos on 24 November 2014.

The user has requested enhancement of the downloaded file.


Abordagem para Desenvolver Tecnologia de Software com
Apoio de Estudos Secundários e Primários
Rodrigo O. Spínola, Arilo C. Dias-Neto, Guilherme H. Travassos
Programa de Engenharia de Sistemas e Computação – COPPE/UFRJ
Caixa Postal 15.064 – 91.501-970 – Rio de Janeiro – RJ – Brasil.
{ros,acdn,ght}@cos.ufrj.br
Abstract. Minimizing risks in the development and introduction of new technologies
in the software industry can be considered an important factor to evolve software
engineering as science. The using of evidence provided by experimental studies
allows the characterization of a technology before its using in software projects in
the industry. Thus, it is possible to determine with reasonable precision the
feasibility in to use a software technology in specific scenarios. Based on this
context, this paper presents an approach that uses secondary and primary studies to
support the conception of new software technologies. Its applicability is evaluated
by the description of two experience cases. As consequence, some discussions are
presented regarding the difficulties, risks, and benefits in the using of the proposed
approach.
Resumo. Minimizar os riscos no desenvolvimento e introdução de novas
tecnologias na indústria de software pode ser considerado um fator importante
para a evolução da engenharia de software como ciência. O uso de evidências
providas a partir de estudos experimentais permite a caracterização de uma
tecnologia antes de sua adoção em projetos de software na indústria de forma que
seja possível determinar com níveis razoáveis de segurança sua viabilidade
considerando cenários específicos de uso. Neste contexto, este artigo apresenta
uma abordagem de pesquisa que faz uso de estudos secundários e primários no
apoio à concepção de novas tecnologias de software. Sua aplicabilidade é avaliada
através da apresentação de dois relatos de experiência. Como conseqüência,
algumas discussões são apresentadas sobre as dificuldades, riscos e benefícios em
se utilizar tal abordagem.

1. Introdução
A engenharia de software busca apoiar o desenvolvimento de sistemas de software dentro de
prazos, custos e níveis de qualidade previamente estabelecidos [Pfleeger 2007]. Entretanto,
de acordo com Kitchenham et al. (2004), a utilização de processos com qualidade por
engenheiros de software não é condição suficiente para a melhoria da qualidade no
desenvolvimento. Isto por que o desenvolvimento é dependente de tecnologias que muitas
vezes não apresentam evidências suficientes sobre potenciais benefícios, limitações, custo de
implantação e riscos associados. Para lidar com isto, Kitchenham et al. (2004) indicam que o
uso de evidência permitiria a caracterização de uma tecnologia antes de sua adoção em
projetos de software na indústria de forma que fosse possível determinar com níveis
razoáveis de segurança a viabilidade de sua utilização considerando cenários específicos de
uso.
Desta forma, minimizar os riscos na introdução de novas tecnologias na indústria
pode ser considerado um fator importante para a evolução da engenharia de software como
ciência. Neste contexto, Shull et al. (2001) propuseram uma abordagem para a introdução de
processos de software na indústria através dos quais novas tecnologias podem ser inseridas.
Tal abordagem apresenta uma série de questões que devem ser tratadas durante a avaliação
dos processos de software, assim como os tipos de estudos experimentais que contemplam
essas questões. Sua aplicação possibilita uma introdução gradativa da tecnologia em
aplicações industriais o que permite a realização de estudos intermediários e com diferentes
níveis de controle e, conseqüentemente, de abrangência de seus resultados.
Entretanto, esta metodologia não contempla a etapa da definição de uma tecnologia de
software. Ela parte do princípio de que já existe uma versão inicial da tecnologia a ser
avaliada. Neste sentido, Mafra et al. (2006) estenderam a metodologia proposta por Shull et
al. (2001) através da introdução de uma abordagem formal baseada em estudos secundários
para a identificação de evidência existente na literatura técnica como apoio à concepção de
novas tecnologias de software. Desta forma, através da condução de revisões sistemáticas,
seria possível identificar e caracterizar o grau de evidência experimental existente na área, e
como conseqüência, eventuais dificuldades e incertezas que povoam o processo de definição
de uma nova tecnologia poderiam ser minimizadas.
Embora o uso de estudos secundários (revisões sistemáticas) traga benefícios ao
desenvolvimento de novas tecnologias através da identificação das evidências geradas,
caracterizando assim o estado da arte em uma determinada área de pesquisa [Kitchenham et
al., 2004] [Mafra et al., 2006], ainda não permite capturar um questionamento importante a
respeito de tal evidência: “Qual a opinião de especialistas da área em relação às evidências
obtidas?”. A resposta para essa pergunta é um ponto essencial para a continuidade do
desenvolvimento de tal tecnologia. Para lidar com esta questão, a abordagem definida em
[Mafra et al., 2006] pode ser evoluída de duas formas a fim de se obter ao final um corpo de
conhecimento mais consolidado e abrangente para apoiar pesquisas em um campo de
conhecimento:
transformar a execução dos estudos secundários em um processo mais interativo onde,
ao término da análise da cada estudo, é feita uma avaliação sobre a necessidade de
refinamento e execução de uma revisão da literatura complementar;
utilizar estudos primários na avaliação do conhecimento, organizado através dos
resultados obtidos com a execução de estudos secundários, através da participação de
pesquisadores externos que atuam na mesma linha de pesquisa.
Neste contexto, este artigo apresenta uma abordagem definida a partir da proposta
presente em [Mafra et al., 2006] que faz uso de estudos secundários e primários no apoio à
concepção de novas tecnologias. Ao longo deste artigo, esta abordagem é apresentada e
exemplificada considerando seu apoio em duas áreas distintas da engenharia de software:
Computação Ubíqua (Ubicomp) e Testes Baseado em Modelo (TBM). A partir disso, são
discutidas as dificuldades, riscos e benefícios observados a partir da aplicação desta
abordagem nos cenários descritos.
Além desta introdução, este artigo possui mais 5 seções. Na seção 2 é apresentada a
abordagem baseada em estudos secundários e primários. Em seguida, são apresentados dois
relatos de experiência de sua aplicação no contexto de Ubicomp (seção 3) e TBM (seção 4).
A seção 5 apresenta as lições aprendidas com o uso da abordagem com foco em dificuldades,
riscos e benefícios. Por fim, a seção 6 apresenta as considerações finais deste trabalho.

2. Abordagem para Desenvolver Tecnologias de Software com Apoio de Estudos


Secundários e Primários
A abordagem apresentada neste trabalho complementa o trabalho elaborado e aplicado por
Mafra et al. (2006), nos contextos de técnica de leitura de software e técnicas de avaliação de
modelos arquiteturais através do acréscimo ou customização de atividades em etapas inicias
do desenvolvimento de novas tecnologias, com foco em:
estudos secundários: planejamento e execução de revisões sistemáticas com objetivo
de organizar o corpo de conhecimento de apoio à concepção de novas tecnologias;
estudos primários: planejamento e execução de survey com objetivo de avaliar o
conhecimento organizado através da execução dos estudos secundários.
A Figura 1 apresenta como os trabalhos de Mafra et al. (2006) e Shull et al. (2001)
estão estruturados. Neste contexto, o quadrado destacado em cinza refere-se à proposta de
Mafra et al. (2006) que foi aprimorada neste trabalho considerando as atividades
apresentadas na Figura 2.

Figura 1. Contextualização do trabalho.


A contribuição está na forma como os estudos secundários são executados, e a
inclusão de estudos primários para avaliar o conhecimento obtido através dos estudos
secundários. As atividades contempladas na proposta são:
1. Revisão inicial da literatura: o objetivo é identificar os conceitos básicos para apoiar a
definição de um protocolo de revisão sistemática da literatura mais preciso e abrangente;
2. Revisão sistemática: os fundamentos da revisão sistemática auxiliam na obtenção de
resultados mais justos e precisos sobre o assunto que se pretende pesquisar (Biolchini et
al., 2005). Nesta atividade, o protocolo da revisão sistemática é elaborado e executado.
Baseado nos resultados obtidos a partir da análise dos artigos identificados, os
pesquisadores envolvidos definem se é necessário refinar o estudo executado. Caso
positivo, este passo é repetido. Caso contrário, decide-se se o conjunto de conhecimento
obtido deve ser avaliado através de um
survey (executar atividade 3) ou não (ir para
a atividade 4);
3. Survey: um survey é planejado e executado
para avaliar o corpo de conhecimento
organizado através da revisão sistemática
executada na atividade 2. Ao final desta
etapa tem-se um corpo de conhecimento a
ser estruturado;
4. Corpo de Conhecimento: após as
atividades anteriores, o corpo de
conhecimento é consolidado e organizado Figura 2. Atividades compondo a
e pode ser utilizado no apoio à concepção metodologia de pesquisa.
de uma nova tecnologia (atividade 5).
Atualmente, esta abordagem vem sendo utilizada no contexto de quatro pesquisas de
doutorado para os domínios da análise causal de defeitos, agilidade em atividades de teste,
computação ubíqua e teste baseado em modelos. As próximas seções irão descrever um relato
de experiência de sua aplicação para dois destes cenários: Ubicomp [Spínola et al., 2007] e
TBM [Dias-Neto e Travassos, 2008a].
3. Aplicação da Abordagem no Contexto de UbiComp
Tem-se observado o surgimento e a evolução de um novo paradigma da computação, a
Ubicomp, cujo objetivo é tornar os serviços computacionais embutidos no ambiente que nos
cerca de forma que seu uso seja não intrusivo para os usuários [Weiser, 1991]. Aliado a isso,
observa-se que o aumento da complexidade no desenvolvimento de software quando se
considera este domínio específico pode fazer com que as técnicas tradicionais da engenharia
de software tenham sua eficácia diminuída quando em projetos ubíquos [Niemela e
Latvakoski, 2004] [Sakamura, 2006].
Baseado neste contexto, um trabalho tem sido desenvolvido com o objetivo de
desenvolver um arcabouço que apóia as atividades de especificação e verificação de
requisitos funcionais de ubiqüidade para projetos de software com base em um corpo de
conhecimento organizado através de estudos experimentais. Para sua concepção, está sendo
seguida uma instância da abordagem proposta na seção 2 composta pelos seguintes passos:
(1) revisão informal da literatura; (2) revisão sistemática; (3) refinamento da revisão
sistemática; (4) survey; (5) consolidação do corpo de conhecimento e, (6) proposta inicial da
tecnologia. Neste artigo, iremos focar nos estudos experimentais realizados (revisão
sistemática e survey) a fim de descrever uma síntese do planejamento, execução e resultados
obtidos. Mais informações podem ser obtidas em [Spínola et al., 2007] [Spínola et al., 2008].
3.1. Revisão Sistemática sobre Caracterização de Ubicomp
Descrito em Spínola et al. (2007a), o protocolo de pesquisa da primeira revisão sistemática
foi definido com objetivo de investigar o estado da arte e da prática em Ubicomp.
Considerando como fontes de busca IEEExplorer, ACM Digital Library, INSPEC e
EI Compendex, obteve-se como resultado um total de 41 artigos selecionados para extração
de informação de um total de 751 previamente selecionados. O filtro foi realizado com base
nos critérios de inclusão e exclusão definidos no protocolo.
Como resultado da análise deste conjunto de artigos, Spínola et al. (2007) observaram
que a computação ubíqua se faz presente no momento em que os serviços ou facilidades
computacionais são disponibilizados às pessoas de forma que o computador não seja uma
ferramenta visível ou imprescindível para acesso a esses serviços. Para isso, é preciso que os
sistemas que compõem o ambiente contemplem características como: onipresença dos
serviços, invisibilidade, sensibilidade ao contexto, comportamento adaptável ou dinamismo
de tarefas, captura de experiências, descoberta de serviços, composição de funcionalidades,
interoperabilidade espontânea, heterogeneidade de dispositivos e tolerância a falhas.
Neste ponto da pesquisa, o conjunto de características de ubiqüidade identificado foi
analisado através de uma tentativa inicial de caracterização de projetos de software ubíquos.
Entretanto, esta caracterização não pôde ser realizada devido ao fato de que estas
características ainda estavam descritas em um nível alto de abstração, o que dificultava o
entendimento sobre como elas poderiam estar de fato contempladas em projetos de software.
Por este motivo, o protocolo de pesquisa foi refinado e uma segunda revisão sistemática foi
executada com objetivo de identificar fatores funcionais e restritivos associados a cada uma
das características.
3.2. Refinamento da Revisão Sistemática sobre Ubicomp
O objetivo desta segunda revisão sistemática foi investigar quais fatores funcionais e não
funcionais definem cada uma das características de Ubicomp identificadas previamente
[Spínola et al., 2007]. Foram utilizadas como fontes de busca IEEExplorer e ACM Digital
Library. Ao final, identificou-se um conjunto de 168 fatores de ubiqüidade (sendo 123
funcionais e 45 restritivos) a partir da análise de 59 artigos selecionados para extração de
informação de um total de 599 previamente selecionados.
Obtidos estes resultados, o corpo de conhecimento foi organizado em um checklist
para apoiar a caracterização de projetos de software ubíquos. Para isto, foi selecionado um
conjunto de 12 projetos ubíquos (identificados a partir dos resultados da primeira revisão
sistemática) com objetivo de identificar como as características de ubiqüidade têm sido
contempladas na prática [Spínola et al., 2007]. De forma geral, os resultados indicaram que
as características identificadas possibilitam a caracterização de projetos ubíquos e que elas
estão contempladas de forma diferenciada entre os diversos projetos avaliados. Outro
comportamento observado está relacionado ao foco dado a determinadas características.
Enquanto invisibilidade, sensibilidade ao contexto e comportamento adaptável têm sido
constantemente consideradas nos projetos, as demais características aparecem como
iniciativas isoladas, mesmo considerando projetos recentes (entre 2000 e 2007), onde
algumas evoluções tecnológicas ocorreram.
Nesse momento surgiram dois questionamentos: (1) este comportamento representa
uma distância natural entre estado da arte e estado da prática? (2) o conjunto identificado de
características de ubiqüidade e seus fatores é completo e suas definições estão adequadas?
Tentando obter resposta a estas dúvidas, foi planejado e executado em survey com
especialistas na área de Ubicomp, a ser descrito na seção seguinte.
3.3. Survey sobre Características e Fatores de Ubiqüidade
O objetivo do survey foi analisar as características de Ubicomp, seus fatores e grupos de
fatores, com o objetivo de caracterizar, com respeito a sua aplicabilidade e escopo, no
contexto de projetos de software ubíquo sob o ponto de vista de pesquisadores em
engenharia de software que estejam trabalhando com pesquisa e desenvolvimento de projetos
de software ubíquos.
Para efetuar a seleção dos participantes, foi utilizado o Diretório dos Grupos de
Pesquisa do CNPq. A busca foi feita em 06/2007 e considerou grupos de pesquisa que
incluíam Ubicomp entre suas linhas de pesquisa. Ao total, cerca de 60 pesquisadores foram
convidados a participar da pesquisa via e-mail (entre 07/2007 e 12/2007), sendo o
questionário estruturado em três etapas: (1) caracterização do participante; (2) avaliação das
características de Ubicomp, e; (3) avaliação dos fatores/grupos de fatores associados às
características de Ubicomp.
A execução do survey contou ao final com a participação de 10 pesquisadores (cerca de 17%
da população) e nos permitiu aprimorar o corpo de conhecimento organizado considerando os
seguintes itens: (1) Inclusão das características escalabilidade, qualidade de serviço e
privacidade e confiança; (2) Reorganização do conjunto de características em duas
perspectivas (funcional e restritiva); (3) Exclusão de três fatores do conjunto inicial.
Com o corpo de conhecimento em Ubicomp organizado, foi possível definir como ele
poderia ser efetivamente utilizado no apoio às atividades de desenvolvimento de projetos de
software ubíquos. Neste caso, uma abordagem de apoio à definição e verificação de
requisitos funcionais de ubiqüidade foi proposta [Spínola et al., 2008].
Além do contexto de Ubicomp, a abordagem para desenvolvimento de tecnologia de
software tem sido aplicada no contexto de Testes Baseado em Modelos (TBM), visando o
desenvolvimento de uma estratégia para apoiar a seleção de abordagens de TBM para
projetos de software.
4. Aplicação da Abordagem no Contexto de TBM
Um problema constantemente relatado na literatura técnica está associado à seleção de
tecnologias de software para projetos. Como escolher um melhor conjunto de técnicas para
apoiar uma determinada tarefa do processo de desenvolvimento? No contexto de teste de
software, quanto mais informações houver para apoiar tal decisão, mais simples ela se torna e
menor a possibilidade de fazer escolhas inadequadas que poderiam afetar o resultado e a
qualidade do produto final [Vegas e Basili, 2005]. Quando se olha especificamente para a
área de Teste Baseado em Modelos, percebe-se que enquanto recentes pesquisas têm
produzido resultados interessantes no desenvolvimento de novas abordagens e infra-
estruturas de apoio a TBM, ainda existe uma demanda não atendida pela obtenção de
conhecimento científico sobre as abordagens já desenvolvidas de forma a simplificar o
processo de seleção de tais tecnologias em projetos de software [Dias-Neto et al., 2008].
Baseado neste contexto, o trabalho desenvolvido na área de TBM tem como objetivo
o desenvolvimento de uma estratégia para apoiar a seleção de abordagens de teste baseado
em modelos (ATBM) a partir da construção de um corpo de conhecimento e de um processo
que apóie a escolha de tais abordagens a partir das características do projeto de software onde
elas seriam aplicadas. Para seu desenvolvimento, uma instância da abordagem apresentada na
seção 2 tem sido seguida composta pelos seguintes passos: (1) revisão informal da literatura
sobre a área de TBM; (2) revisão sistemática sobre ATBM; (3) survey sobre atributos de
caracterização de ATBM; (4) consolidação do corpo de conhecimento sobre ATBM e (5)
proposta inicial da tecnologia. Neste artigo, iremos focar nos estudos experimentais
realizados (revisão sistemática e survey) a fim de descrever uma síntese do planejamento,
execução e resultados obtidos. Mais informações sobre o desenvolvimento desta pesquisa
podem ser obtidas em [Dias-Neto e Travassos, 2008a].
4.1. Revisão Sistemática sobre Caracterização de ATBM
Ao decidir o tema a ser desenvolvido e conhecer os principais conceitos relacionados a TBM,
a primeira questão que surgiu foi: quais são as ATBM existentes e quais são suas
características? Para responder a essa questão, planejou-se um protocolo de revisão
sistemática a fim de identificar e caracterizar essas abordagens na literatura técnica. Esse
protocolo foi executado em 5 diferentes bibliotecas digitais no ano de 2006 (IEEExplorer,
ACM Digital Library, EI Compendex, Web of Science e INSPEC) e, dos 406 artigos
retornados, foram selecionados 202. Esses artigos foram categorizados de acordo com o tipo
de técnica de teste (funcional ou estrutural) e se utilizam modelos UML ou não.
Após a etapa de execução do protocolo, passou-se para a análise quantitativa e
qualitativa dos dados. Os resultados desta análise nos permitem observar diversas questões,
como: a distribuição das ATBM por nível de teste que podem ser aplicadas, quais os passos
automatizados e não-automatizados que compõem cada ATBM, quais são os modelos
adotados para geração dos testes, a existência de apoio ferramental, limitações, indicações de
custo, esforço, nível de complexidade, entradas requeridas, pré-requisitos, formato e
qualidade das saídas geradas e habilidade necessária para usar uma abordagem. O
planejamento e os resultados detalhados dessa revisão sistemática estão publicados em [Dias-
Neto et al., 2008] e [Dias-Neto e Travassos, 2008a].
Com a realização desta revisão sistemática, foi obtido o conteúdo necessário para a
criação de um corpo de conhecimento sobre ATBM. A dúvida que surgiu em seguida foi se a
estrutura adotada para o corpo de conhecimento estaria adequada, ou seja, se não existe
nenhum atributo de caracterização faltando ou em excesso no conjunto inicial. Tentando
obter resposta a esta dúvida, foi planejado e executado um survey, a ser descrito a seguir.
4.2. Survey sobre Atributos de Caracterização de ATBM
Neste survey foram avaliados inicialmente 18 atributos de caracterização de ATBM por
especialistas na área de TBM. A população do estudo é formada pelos autores de artigos
identificados a partir da revisão sistemática descrita na seção 4.1. Além disso, definiram-se os
critérios para inclusão/exclusão de um atributo de caracterização de ATBM.
Para execução do estudo, um questionário on-line foi disponibilizado na Internet
durante 3 meses (dezembro de 2007 a fevereiro de 2008) contendo 3 passos: (1)
caracterização dos participantes, (2) avaliação da importância dos atributos de caracterização
e (3) avaliação da relevância dos atributos para a seleção de ATBM em projetos de software.
Os participantes do estudo foram convidados por e-mail, onde receberam login e senha para
acessar ao questionário. De 144 pesquisadores convidados, obtiveram-se 34 respostas (17%).
Durante a análise dos dados, as respostas de todos os participantes foram avaliadas e
com isso chegou-se aos seguintes resultados: todos os 18 atributos avaliados foram
considerados importantes pelos participantes e 3 novos atributos foram adicionados ao
conjunto inicial, totalizando 21 atributos. Além disso, foram obtidos os pesos (relevância) de
cada um, durante a seleção de ATBM para um projeto de software. O planejamento, análise e
os resultados detalhados desse survey estão publicados em [Dias-Neto e Travassos, 2008b].
O resultado deste estudo foi essencial para se definir a estrutura do corpo de
conhecimento sobre ATBM, que é a base para a versão inicial da estratégia de apoio à
seleção de ATBM publicada em [Dias-Neto e Travassos, 2008a]. Os passos seguintes desta
pesquisa serão a execução de estudos experimentais a fim de avaliar a viabilidade e
efetividade da estratégia em ambientes acadêmicos e industriais seguindo a metodologia
apresentada na Figura 1.
5. Lições Aprendidas do Uso da Abordagem
A aplicação desta abordagem por ambos os trabalhos tem contribuído satisfatoriamente para a
definição de novas tecnologias de software. A seguir, será descrita uma análise sobre
diferentes aspectos relacionados ao uso da abordagem.
5.1. Riscos e Dificuldades introduzidos pelos Tipos de Estudos adotados
Esta abordagem é baseada em dois tipos de estudo, Revisão Sistemática e Survey, que
individualmente já inserem alguns riscos que precisam ser mitigados durante o
desenvolvimento de uma tecnologia de software.
5.1.1. Riscos e Dificuldades associados a Revisões Sistemáticas
As dificuldades encontradas durante a realização de ambas as revisões sistemáticas estão
relacionadas diretamente à seleção e utilização das fontes de pesquisa utilizadas, conforme já
relatado em trabalhos anteriores na literatura técnica.
O primeiro seria a falta de acesso a importantes fontes de pesquisa. Conforme já
relatado em [Brerenton et al. 2006], nenhuma fonte de pesquisa contém todos os estudos
primários, o que requer o uso simultâneo de várias fontes. A falta de acesso a uma fonte pode
resultar em uma menor cobertura de estudos primários pela revisão sistemática.
Além disso, a dificuldade no uso das máquinas de busca é um problema a ser
considerado. De acordo com Brerenton et al. (2006), as máquinas de busca não são
projetadas para apoiar revisões sistemáticas, o que requer um grande esforço dos
pesquisadores para adaptar suas strings de busca para serem aplicadas nas fontes de pesquisa
selecionadas, principalmente para o uso da ACM Digital Library.
Por fim, os resultados retornados pelas máquinas de busca trazem um risco ao estudo.
As máquinas de busca constantemente fornecem como resultados de uma pesquisa uma série
de artigos que não atendem ao critério de seleção estabelecido em uma revisão sistemática, o
que requer um esforço grande para filtrar os estudos primários identificados. Esse problema
ocorreu em ambos os estudos e seus motivos foram diferenciados: em Ubicomp ocorreu por
ser uma área que engloba diversas linhas de pesquisa, o que aumentou a quantidade de
publicações sobre o tema, apesar de não estarem relacionadas com engenharia de software. A
taxa de exclusão foi de 94,5% dos artigos. No estudo de TBM o problema ocorreu pela
constante confusão entre técnicas de automação dos testes e técnicas baseadas em modelos,
que também podem prover automação. Com isso, a taxa de exclusão foi de 51% dos artigos.

5.1.2. Riscos e Dificuldades associados a Surveys


Os resultados de um survey são dependentes do instrumento utilizado e da quantidade e
qualidade das respostas obtidas a partir de seus participantes. Assim, as principais
dificuldades observadas estão relacionadas diretamente a este tópico.
Uma população de um survey deve ser representativa para o objeto de estudo em
questão. Para lidar com este risco, os pesquisadores consideraram em seus estudos algumas
estratégias para definição da população. Para a pesquisa em Ubicomp, foi considerado o
Diretório dos Grupos de Pesquisa do CNPq. Este mantém uma base corrente, cujas
informações são atualizadas continuamente pelos líderes de grupos, pesquisadores, estudantes
e dirigentes de pesquisa das instituições participantes. Embora esta estratégia faça sentido,
por não haver uma taxonomia padrão para definição de áreas de pesquisa, foi constatado que
os pesquisadores tendem a definir linhas de pesquisa que não necessariamente refletem seus
trabalhos. Como resultado, o conjunto real de pesquisadores na linha tende a ser menor do que
os 60 identificados, o que pode ter implicado na baixa quantidade de participantes no survey.
No caso de TBM, foram utilizados autores de artigos que descreviam ATBM
identificados durante a execução da revisão sistemática, etapa que faz parte da abordagem
adotada. Como o objetivo do survey não trazia qualquer conflito em relação aos artigos
publicados, decidiu-se que essa estratégia seria adequada para este contexto. O único
problema associado a esta estratégia foi a dificuldade em se contatar os autores dos artigos
para que eles participassem do estudo, conforme será relatado a seguir.
Em ambos os surveys os participantes foram convidados a partir de e-mails, o que não
permite saber imediatamente se os convites chegaram até seu destino final. A fim de
minimizar tal problema, e-mails de lembrete eram constantemente enviados para os
participantes, o que aumentou a quantidade de respostas em ambos os estudos. Apesar disso,
vários e-mails retornaram com mensagem de erro, impossibilitando a participação destas
pessoas no estudo e reduzindo o tamanho de nossa população.
Outro risco relacionado à realização de um survey está na definição do questionário a
ser aplicado. Um tamanho adequado, aliado à seleção correta da população, é um fator
essencial para o sucesso de um survey. Em ambos os estudos foram realizados pilotos com
pelo menos 3 participantes para simular sua execução. A instrumentação adotada nos surveys
de Ubicomp e TBM foi diferenciada e com isso diferentes resultados foram obtidos:
Ubicomp: o questionário foi aplicado manualmente, seu tamanho era definido com
base na caracterização do participante e variava entre 4 e 14 páginas no formato A4.
Durante a realização do questionário, a maioria dos pesquisadores relatou que
trabalhava com as diferentes características de ubiqüidade. Isso tornou a tarefa de
execução por parte de seus participantes algo complexo e demorado. Em média, cada
participante levou 40 minutos para respondê-lo.
TBM: o questionário foi aplicado a partir de um web site, era bastante curto (3 passos
simples), foi aplicado com pessoas de todos os lugares do mundo e estava escrito em
Inglês. Ter uma população do estudo mais consolidada ajudou a tornar o seu
preenchimento mais intuitivo e rápido para os participantes. Em média, cada
participante levou 5 minutos para respondê-lo.
5.2. Benefícios com a Aplicação da Abordagem
A identificação de evidências na literatura a partir da identificação de tópicos que
reconhecidamente necessitam de maior investigação é o foco de uma revisão sistemática
[Mafra et al., 2006]. Nesse sentido, a condução de uma revisão sistemática como etapa inicial
do passo de definição inicial de uma tecnologia possibilita minimizar riscos e acelerar o
processo de definição.
Por sua vez, dar continuidade a este processo a partir da realização de um survey
permite confrontar as evidências providas a partir da literatura técnica com a opinião e ponto
de vista de especialistas daquela área de domínio. Apesar de, aparentemente, esta atividade
resultar em um esforço adicional ao compararmos uma um abordagem que não adota survey
como apoio à definição de novas tecnologias na etapa inicial, essa combinação tende a
fortalecer as evidências obtidas a partir da revisão sistemática, criticar os resultados obtidos e,
conseqüentemente, simplificar a definição de um corpo de conhecimento em uma
determinada área de pesquisa.
5.3. Análise dos Pontos de Decisão
Por fim, outros aspectos importantes da aplicação da abordagem proposta dizem respeito aos
seus pontos de decisão. Conforme a Figura 2, existem três pontos de decisão:
Há a necessidade de refinamento da Revisão Sistemática?
O objetivo da revisão sistemática no contexto da abordagem seguida é identificar
evidências para a construção de um corpo de conhecimento. O refinamento é necessário
quando os resultados obtidos não são satisfatórios em relação ao objetivo desta etapa.
No estudo de Ubicom, conforme descrito na seção 3.1, a primeira revisão sistemática
identificou um conjunto de características de ubiqüidade. No entanto, os pesquisadores
identificaram algumas dificuldades ao tentar caracterizar projetos de software ubíquos a partir
dessas características, pois elas estavam descritas em um nível alto de abstração. Essa
necessidade implicou em um refinamento do protocolo inicial com objetivo de detalhar tais
características através de fatores funcionais e restritivos, possibilitando assim a caracterização
dos projetos ubíquos. No estudo de TBM, a revisão sistemática forneceu um conjunto de
resultados satisfatórios para a definição do conteúdo do corpo de conhecimento sobre
abordagens de TBM. Sendo assim, não foi realizado um refinamento.
Há a necessidade de avaliação das evidências obtidas na Revisão Sistemática a
partir de um survey com especialistas?
O objetivo do survey no contexto da abordagem seguida é confrontar as evidências
identificadas a partir da revisão sistemática, quando não há uma garantia de sua validade a
partir da literatura técnica, ou seja, quando os resultados descritos na literatura técnica são
confrontantes ou pouca evidência científica é obtida.
Essa necessidade ocorreu em ambos os estudos realizados. No estudo de Ubicomp, foi
possível organizar um corpo de conhecimento a partir das revisões sistemáticas. Entretanto, o
fato de Ubicomp ser uma área multidisciplinar traz riscos à pesquisa considerando a
abrangência do conhecimento organizado. Por isto, foi realizado o survey para que o corpo de
conhecimento organizado fosse avaliado quanto a sua abrangência. No estudo de TBM,
apesar da grande quantidade de abordagens identificadas, pouca evidência científica foi
identificada [Dias-Neto et al., 2008]. Além disso, a revisão sistemática forneceu o conteúdo
para o corpo de conhecimento, mas não provia informação para se definir sua estrutura. Com
isso, o survey foi conduzido com especialistas na área de TBM para que fossem definidos
quais atributos deveriam compor o corpo de conhecimento sobre tais abordagens, conforme
descrito na seção 4.2.
Os resultados do survey são satisfatórios ou requerem uma nova revisão da
literatura para serem complementados?
O objetivo deste ponto de decisão é analisar os resultados obtidos com o survey e, a
partir deles, identificar se há a necessidade de identificar novas evidências na literatura
técnica. Em ambas as pesquisas, o survey foi considerado suficiente para concluir a
organização do corpo de conhecimento, com isso um novo refinamento da revisão sistemática
não foi necessário.
6. Conclusões
Este artigo apresentou uma abordagem fundamentada em estudos secundários e primários
para apoiar o desenvolvimento de novas tecnologias. Segundo o nosso ponto de vista, o
principal benefício da aplicação de tal abordagem se dá na junção de conhecimento provido a
partir da literatura técnica com informações geradas a partir da consulta a especialistas da
área, ambos obtidos a partir de resultados de estudos experimentais. Isso nos fornece uma
maior abrangência e confiabilidade em relação à tecnologia a ser desenvolvida.
Por fim, a abordagem apresentada neste artigo tem sido utilizada pelos membros do
Grupo de Engenharia de Software Experimental da COPPE/UFRJ como abordagem de apoio
à definição de novos trabalhos de pesquisa e compõem o repositório de conhecimento do
eSEE [Travassos et al., 2008]. Atualmente, a aplicação desta abordagem está na fase de
proposta inicial da tecnologia para pesquisas na área de Ubicomp e TBM, apresentadas neste
artigo, e está começando a ser aplicada em pesquisas na área de análise causal de defeitos e
agilidade em atividades de teste. Ao final de sua aplicação para cada pesquisa citada, novos
conhecimentos poderão ser agregados à lista de dificuldades/riscos/benefícios, o que
permitirá a definição de um conjunto de diretrizes de apoio à execução de estudos primários e
secundários, apoiando a aplicação da abordagem proposta em novos cenários.
Agradecimentos
Os autores gostariam de agradecer à CAPES, CNPq (Engenharia de Software Experimental e
Ciência em Larga Escala: 475459/2007-5), FAPEAM e FAPERJ (Cientista do Nosso Estado)
pelo apoio financeiro.

Referências Bibliográficas
Biolchini, J., Mian, P.G., Natali, A.C.C., Travassos, G.H. (2005). “Systematic Review in Software
Engineering”. Technical Report ES 679/05. COPPE/UFRJ.
Brereton, P., Kitchenham, B. A., Budgen, D., Turner, M., and Khalil, M. (2007). Lessons from
applying the systematic literature review process within the software engineering domain. J. Syst.
Softw. 80, 4 (Apr. 2007), 571-583.
Dias-Neto, A.C.; Travassos, G.H.; (2008a), “Estratégia para Apoiar a Seleção de Abordagens de Teste
Baseado em Modelos para Projetos de Software”, No: VII SBQS, Florianópolis, SC, Junho.
Dias-Neto A.C., Travassos, G.H., (2008b); “Surveying on Model Based Testing Approaches
Characterization Attributes”, No: 2nd ESEM, Outubro, Kaiserslautern, Germany, 2008.
Dias-Neto A.C.; Subramanyan, R.; Vieira, M.; Travassos, G.H.; Shull, F. (2008), “Improving
Evidence about Software Technologies: A Look at Model-Based Testing”, IEEE Software, Vol.
25, Issues 3, pp 10-13, Maio.
Kitchenham, B., Dybå, T., Jorgensen, M. (2004), “Evidence-based Software Engineering”,
Proceedings of the 26th ICSE, Scotland, UK.
Mafra, S.N., Barcelos, R.F., Travassos, G.H. (2006), Aplicando uma Metodologia Baseada em
Evidência na Definição de Novas Tecnologias de Software. No: XX SBES, pp. 239-254.
Niemela, E., Latvakoski, J. (2004), “Survey of requirements and solutions for ubiquitous software”,
No: 3rd Int. Conf. on Mobile and Ubiquitous Multimedia, p.71-78, Oct. 27-29, College Park,
Maryland.
PFleeger, S. Software Engineering: Theory and Practice. Third Edition. Prentice Hall 2005.
Shull, F., Carver, J., Travassos, G. (2001) “An Empirical Methodology for Introducing Software
Processes”, No: Joint 8th ESEC and 9th ACM SIGSOFT FSE-9, pp. 288-296.
Sakamura, K. (2006) “Challenges in the Age of Ubiquitous Computing: A Case Study of T-Engine,
An Open Development Platform for Embedded Systems”. No: 28th ICSE, China. pp: 713-720.
Spínola, R.O., Silva, J.L.M., Travassos, G.H. (2007) “Checklist to Characterize Ubiquitous Software
Projects”. No: XXI SBES, João Pessoa, Brasil.
Spínola, R.O., Pinto, F.C.R., Travassos, G.H. (2008) “Supporting Requirements Definition and
Quality Assurance in Ubiquitous Software Project”. No: 3rd ISOLA, Tessalônica, Grécia.
Vegas, S.; Basili, V. (2005), “A Characterization Schema for Software Testing Techniques”,
Empirical Software Engineering, v.10 n.4, pp.437-466, Outubro.
Weiser, M. “The Computer for the 21st Century”. Scientific American 1991, pp. 94-104.

View publication stats

Você também pode gostar