Time of blockade duration
COMPLICATIONS OF HIGH DOSE IODINE THERAPY IN THE CASE OF REACTOR ACCIDENTS
3. IODINE-INDUCED HYPERTHYROIDISM
O propósito deste estudo foi responder à questão: “O SourceMiner apóia de forma efetiva as atividades de compreensão de software através da representação visual de interesses através das suas três perspectivas?”
O objetivo deste estudo expresso segundo o gabarito GQM é:
Analisar o SourceMiner, um ambiente de visualização interativo Com o propósito de caracterizá-lo
166
Em relação ao apoio às atividades de compreensão de software através da
representação visual de interesses nas suas três perspectivas
Do ponto de vista dos pesquisadores do ambiente SourceMiner
No contexto de atividades de compreensão de aplicações desenvolvidas em
linguagem Java em um ambiente in-vitro.
As perguntas de pesquisa (PP) deste estudo foram:
Pergunta de Pesquisa 1 (PP1): Em que medida um ambiente visual baseado em
múltiplas visões com representação de interesses apóia a identificação de anomalias de modularidade?
Pergunta de Pesquisa 2 (PP2): Quais são as possíveis estratégias para a
identificação de anomalias de modularidade usando a abordagem para múltiplas visões? Todos os participantes foram solicitados a identificar três tipos de anomalias de modularidade em cinco versões de uma aplicação usando o SourceMiner. Não foi permitido acesso ao código fonte. O objetivo não foi avaliar, mas caracterizar como cada participante executou as atividades solicitadas (Wohlin, Runeson, et al., 2000). No restante desta seção, apresentaremos o planejamento relacionado ao tutorial aplicado, ao objeto de estudo, a lista de referência das anomalias de modularidade, aos participantes e ao questionário de atividades.
O objeto de estudo. Cinco versões consecutivas do MobileMedia (MM)
(Figueiredo, Cacho, et al., 2008) foram selecionadas para este estudo. A maior versão tem em torno de quatro mil linhas de código distribuídas em 18 pacotes e 50 classes. O MobileMedia foi selecionado pelo fato do código fonte das versões em Java estar disponível na web e já ter sido utilizado em outros estudos (Carneiro, Sant´Anna, et al., 2009; Figueiredo, Cacho, et al., 2008; Figueiredo, Silva, et al., 2009; Conejero, Figueiredo, et al., 2009), incluindo o terceiro estudo relatado nesta tese.
Os interesses a serem utilizados neste estudo já haviam sido identificados pelos próprios desenvolvedores da aplicação e mapeados para o código fonte (Figueiredo, Cacho, et al., 2008). Por este motivo, a precisão tanto na seleção dos interesses como no seu mapeamento não foi o foco das nossas perguntas de pesquisa.
A lista de referência das anomalias de modularidade. As anomalias de
167
Divergent Change (DC). As suas respectivas definições já foram apresentadas no capítulo 2 (subseção 2.9). Dois especialistas foram convidados para identificar as ocorrências das três anomalias de modularidade nas cinco versões do MobileMedia. Estes especialistas são pesquisadores que já participaram de atividades anteriores relacionadas ao desenvolvimento, manutenção e avaliação do objeto de estudo. Cada especialista foi instruído para utilizar suas próprias estratégias para a identificação das anomalias sem que fosse utilizado o SourceMiner. O primeiro especialista focou na inspeção manual do código e utilizou estratégias para identificação de anomalias de modularidade relatadas em (Lanza, Marinescu e Ducasse, 2005; Marinescu, 2004). Utilizando uma estratégia diferente, o segundo especialista utilizou análise baseada em heurísticas sensíveis a interesses para identificar instâncias das três anomalias de modularidade (Figueiredo, Sant'Anna, et al., 2009). No final, os especialistas estabeleceram consenso para a composição definitiva da lista de referência de anomalias de modularidade. O documento final registrou 42 ocorrências das três anomalias selecionadas.
Os participantes. Cinco desenvolvedores foram selecionados para participação
no estudo através de listas de contatos do autor desta tese. O número de participantes permitiu o balanceamento entre o custo do estudo e a análise qualitativa detalhada, assim como a generalização dos resultados (Pfleeger, 1995; Yin, 2002). De forma similar a outros estudos (Robillard, Coelho e Murphy, 2004) que utilizaram o mesmo número de participantes, o objetivo foi fazer observações baseadas na análise detalhada e qualitativa da forma como as atividades foram executadas no lugar de testar a causalidades das hipóteses através de estatística inferencial. Para ser elegível para inclusão no estudo era necessário possuir experiência em programação orientada a objeto. Esta experiência foi verificada através do preenchimento de formulário elaborado para tal finalidade. Verificou-se que os participantes tinham diferentes níveis de experiência. Por exemplo, alguns deles trabalhavam na indústria enquanto outros eram alunos de pós-graduação. Todos participaram como voluntários sem que fosse disponibilizada qualquer compensação para a execução das atividades do estudo. Nenhum membro do nosso grupo de pesquisa foi participante do estudo.
O questionário de atividades. O questionário de atividades disponibilizado aos
participantes foi composto de:
168
Descrição e exemplo com trechos em código Java de cada tipo de anomalia a ser identificada;
Instruções para registrar as versões, classes e ou métodos afetados pelas anomalias de modularidades, assim como solicitação de registro de data e horário da identificação;
Instruções para solicitação de suporte remoto em caso de dúvidas nos procedimentos;
Solicitação de descrição das estratégias utilizadas incluindo o uso das metáforas visuais, interesses, e outros recursos disponibilizados pelo SourceMiner;
Instruções para enviar ao autor desta tese as informações solicitadas e o arquivo de monitoramento de atividades gerado automaticamente pelo SourceMiner.
Tutorial sobre o SourceMiner. Decidiu-se que antes da execução do estudo, os
participantes completariam uma sessão de tutorial sobre o uso do SourceMiner. Para se familiarizar com o AIMV e os seus recursos, os participantes receberiam a ferramenta (e sua documentação) e teriam que utilizá-la para responder 28 questões a respeito de uma aplicação selecionada para o treinamento. A aplicação, chamada de HealthWatcher, já tinha sido utilizada em outros estudos sobre modularidade de software (Greenwood, Bartolomei, et al., 2007).