Emerson Veiga Cap8 Wohlin

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 24

UNIVERSIDADE FEDERAL DO

AMAZONAS

Capítulo 8 - Experimentation in Software Engineering


Claes Wohlin

Apresentadores:
Emerson Veiga
Planning
Após a definição do escopo do experimento, ocorre o planejamento,
que foca em como o experimento será conduzido.
O planejamento é crucial para evitar que os resultados do
experimento sejam comprometidos, garantindo o controle do
processo.
A fase de planejamento é dividida em sete etapas, iniciando com a
definição do objetivo e seguida pela seleção do contexto, formulação
da hipótese, escolha das variáveis e seleção dos sujeitos.
O planejamento também envolve a escolha do tipo de experimento, a
preparação da instrumentação e a avaliação da validade, com
iterações até que o design do experimento esteja completo.
Context Selection
Experimentos em grandes projetos reais com profissionais geram
resultados mais gerais, mas envolvem riscos e custos elevados.
Há um equilíbrio entre a validade dos resultados para um contexto
específico e para a engenharia de software em geral, com
experimentos frequentemente usando estudantes como sujeitos.
O contexto dos experimentos pode ser caracterizado por quatro
dimensões: off-line vs. on-line, estudantes vs. profissionais, problemas
simulados vs. reais, e específicos vs. gerais.
Comparar métodos existentes com novos traz desafios, como a falta
de documentação consistente e a influência do aprendizado do novo
método sobre o antigo, fatores que afetam a validade dos resultados.
Hypothesis Formulation
A base da análise estatística de um experimento é o teste de
hipóteses, onde dados coletados são usados para rejeitar ou aceitar
hipóteses.
Duas hipóteses são formuladas: a hipótese nula (H0), que afirma a
inexistência de padrões reais, e a hipótese alternativa (H1), que propõe
um padrão ou diferença significativa.
O objetivo é rejeitar a hipótese nula com alta significância, como no
exemplo em que um novo método de inspeção encontra mais falhas
que o método antigo.
O poder do teste estatístico mede a probabilidade de detectar um
padrão real quando H0 é falsa, sendo ideal maximizar o poder do teste
para maior precisão.
Hypothesis Formulation
Os testes de hipóteses envolvem riscos de erro: o erro do tipo I
(rejeitar H0 quando ela é verdadeira) e o erro do tipo II (não rejeitar H0
quando ela é falsa).
O erro tipo I ocorre quando o teste detecta um padrão inexistente,
enquanto o erro tipo II ocorre quando um padrão real não é
identificado.
A probabilidade de cometer um erro tipo I é expressa como P(rejeitar
H0 | H0 verdadeira), enquanto a do erro tipo II é P(não rejeitar H0 | H0
falsa).
A escolha de testes estatísticos apropriados é feita após formular as
hipóteses, visando minimizar os erros tipo I e tipo II durante a análise.
Variables Selection
Antes de iniciar o design de um experimento, é necessário escolher as
variáveis dependentes e independentes.
As variáveis independentes são controladas e ajustadas no
experimento, e devem ter efeito nas variáveis dependentes, sendo
importante escolher escalas, intervalos e níveis adequados para testes.
As variáveis dependentes medem o efeito das manipulações e,
embora normalmente haja apenas uma, ela é frequentemente medida
de forma indireta e precisa ser validada.
Ter apenas uma variável dependente reduz o risco de ameaças à
validade da conclusão, como o aumento da taxa de erros descrito em
"fishing and the error rate".
Selection of Subjects
A escolha dos sujeitos de um experimento é crucial para garantir que
os resultados possam ser generalizados para a população desejada.
A amostragem pode ser probabilística (onde as chances de seleção são
conhecidas) ou não probabilística (onde as chances de seleção são
desconhecidas), com técnicas como amostragem aleatória simples,
sistemática, e por conveniência.
O tamanho da amostra influencia a generalização dos resultados,
sendo que amostras maiores reduzem erros e aumentam o poder do
teste estatístico.
A variabilidade da população e o tipo de análise dos dados devem ser
considerados ao determinar o tamanho da amostra durante o design
do experimento.
Experiment Design

Para tirar conclusões significativas de um experimento, é necessário


aplicar métodos de análise estatística aos dados coletados.
O planejamento e design cuidadosos do experimento são essenciais
para garantir a aplicabilidade das análises estatísticas.
O tipo de análise estatística depende do design do experimento e das
escalas de medição utilizadas, tornando o design e a interpretação
intimamente ligados.
Choice of Experiment Design
Um experimento é composto por uma série de testes que precisam
ser cuidadosamente planejados e organizados para maximizar os
resultados.
O design do experimento e a análise estatística estão interligados, já
que o design afeta a análise e vice-versa.
O design do experimento é feito com base na hipótese, nas escalas de
medição e nos objetos e sujeitos disponíveis, determinando o número
de testes necessários.
Um bom design permite que os efeitos dos tratamentos sejam visíveis
e facilita a replicação do experimento.
General Design Principles
Os principais princípios são randomização, blocking e balanceamento,
e a maioria dos experimentos usa uma combinação desses.
Randomização: É usada para garantir a independência das variáveis e
evitar a influência de fatores externos, como no exemplo onde os
designers são selecionados e alocados aleatoriamente entre os
tratamentos.
Blocking: Técnica usada para eliminar o efeito de fatores não
desejados, agrupando sujeitos com características similares, como
experiência anterior, em blocos.
Balanceamento: Refere-se à alocação igual de sujeitos em cada
tratamento, o que facilita e fortalece a análise estatística, mas não é
obrigatório.
Standard Design Types
Tipos de Design de Experimentos: Varia de experimentos simples com um
fator a experimentos mais complexos com muitos fatores. Exemplos
incluem um fator com dois tratamentos, dois fatores com dois tratamentos,
e mais de dois fatores.
Experimento com Um Fator e Dois Tratamentos: Compara dois
tratamentos, frequentemente utilizando a média da variável dependente,
como em um estudo que compara métodos de design de software.
Design Completamente Aleatorizado: Usa a mesma quantidade de sujeitos
por tratamento e atribui-os de forma aleatória, permitindo a comparação
entre os tratamentos. Exemplo de análise: teste t, Mann-Whitney.
Design de Comparação Pareada: Melhora a precisão ao comparar pares de
materiais experimentais, com o sujeito aplicando ambos os tratamentos no
mesmo objeto. Exemplo de análise: teste t pareado, Wilcoxon.
Standard Design Types
Experimento com Um Fator e Mais de Dois Tratamentos: Compara
vários tratamentos, como diferentes linguagens de programação.
Exemplo de análise: ANOVA, Kruskal-Wallis.
Design em Bloco Aleatorizado Completo: Reduz a variabilidade entre
os sujeitos ao usar todos os tratamentos em cada sujeito, agrupando-
os em blocos homogêneos. Exemplo de análise: ANOVA.
Experimentos com Dois Fatores: Introduz três hipóteses para testar
efeitos de dois fatores e suas interações. Exemplo de análise: ANOVA.
Design Fatorial Fracionado: Usa uma fração dos tratamentos em
experimentos com muitos fatores, baseando-se na suposição de que
interações de alta ordem são insignificantes. Utilizado principalmente
em experimentos de triagem.
Instrumentation
Tipos de Instrumentos: Os instrumentos de um experimento incluem
objetos (ex.: documentos de especificação ou código), diretrizes (ex.:
descrições de processos e listas de verificação) e instrumentos de medição
(ex.: formulários ou entrevistas).
Escolha dos Objetos: É essencial selecionar objetos apropriados, como
documentos com falhas conhecidas, que podem ser obtidos por inserção
deliberada de falhas ou usando versões iniciais de documentos com falhas
identificadas.
Diretrizes e Treinamento: Diretrizes devem ser fornecidas aos participantes
para orientar os métodos comparados no experimento, e o treinamento
sobre os métodos também é necessário.
Coleta de Dados e Validação: A coleta de dados, especialmente em
experimentos com pessoas, deve ser planejada cuidadosamente com
formulários ou entrevistas validados para garantir que a instrumentação
não afete os resultados do experimento.
Validity Evaluation
Importância da validade: A validade dos resultados de um
experimento é essencial para garantir que eles sejam aplicáveis à
população de interesse e deve ser planejada desde o início.
Tipos de validade: Existem quatro tipos principais de validade,
segundo Cook e Campbell: validade de conclusão, validade interna,
validade de construto e validade externa.
Ameaças à Validade: Ameaças podem surgir de fatores como escolha
inadequada de testes estatísticos, divisão dos sujeitos, ambiente do
experimento ou medição incorreta dos construtos.
Mitigação de ameaças: A identificação e gestão das ameaças à validade
são essenciais, e algumas podem ter que ser aceitas, com os
resultados sendo interpretados à luz dessas limitações.
Validity Evaluation
Validade de Conclusão: Refere-se à certeza de que há uma relação
estatística entre o tratamento e o resultado, com base em uma
significância estatística adequada.
Validade Interna: Garantir que a relação observada entre tratamento
e resultado seja causal e não devido a fatores externos não
controlados.
Validade Interna: Garantir que a relação observada entre tratamento
e resultado seja causal e não devido a fatores externos não
controlados.
Validade de Construto: Foca na correspondência entre a teoria e as
observações, assegurando que tanto o tratamento quanto o resultado
reflitam bem os conceitos teóricos.
Conclusion Validity
Baixa potência estatística: A potência de um teste estatístico é sua
capacidade de detectar padrões reais nos dados. Se for baixa, há um
risco elevado de se chegar a uma conclusão errada.
Violações de pressupostos estatísticos: Muitos testes têm
pressupostos, como distribuição normal e independência das
amostras. Se esses pressupostos forem violados, as conclusões
podem ser incorretas.
Pesca de dados e taxa de erro: "Pescar" por resultados específicos e
realizar várias análises sem ajustar o nível de significância aumenta o
risco de conclusões erradas.
Confiabilidade nas medidas e implementação: Medidas confiáveis são
essenciais para a validade do experimento, assim como a
implementação consistente do tratamento entre sujeitos e ocasiões.
Internal Validity
Ameaças de validade em grupos únicos: Fatores como história
(circunstâncias temporais), maturação (mudanças nos sujeitos ao longo do
tempo), testagem repetida e instrumentação inadequada podem
influenciar os resultados, dificultando a identificação da verdadeira causa.
Ameaças de validade em grupos múltiplos: As interações entre grupos,
como seleção (diferenças naturais entre os participantes) e maturação
desigual, podem afetar os resultados, especialmente em experimentos com
múltiplos grupos.
Ameaças sociais à validade interna: Incluem difusão ou imitação de
tratamentos (um grupo aprende sobre o tratamento do outro),
compensação ao grupo de controle, rivalidade compensatória (subgrupo se
esforça mais) e desmoralização (subgrupo desmotivado).
Ambiguidade na direção causal: A dificuldade de determinar se A causa B
ou se há uma terceira variável (X) que influencia ambos. Isso pode distorcer
as conclusões de causalidade no experimento.
Construct Validity
Ameaças ao design da validade de construto: Incluem definição inadequada
de construtos (preoperational explication), uso de variáveis ou métodos
únicos (mono-operation e mono-method bias), confusão entre níveis de
construto, e interações entre tratamentos ou testes.
Generalizabilidade restrita: O tratamento pode melhorar um construto,
mas afetar negativamente outro, dificultando a generalização dos
resultados. Exemplo: aumento de produtividade reduzindo a
manutenibilidade.
Ameaças sociais à validade de construto: Comportamentos dos sujeitos
podem ser influenciados pela participação no experimento, como hipótese
adivinhada, ansiedade de avaliação, e expectativas do experimentador.
Interações de tratamentos e testes: Tratamentos de diferentes estudos
podem interagir, dificultando a separação dos efeitos, e o teste em si pode
influenciar os resultados, sensibilizando os sujeitos ao tratamento.
External Validity
Interação entre seleção e tratamento: Ocorre quando a população de
sujeitos no experimento não é representativa da população alvo,
dificultando a generalização dos resultados.
Interação entre ambiente e tratamento: Refere-se ao uso de
configurações experimentais ou materiais que não representam a
prática industrial, como o uso de ferramentas ou problemas
obsoletos.
Interação entre história e tratamento: O momento em que o
experimento é conduzido pode afetar os resultados, especialmente se
ocorrer após um evento significativo relacionado ao tema estudado.
Redução das ameaças: Ameaças à validade externa são mitigadas ao
tornar o ambiente experimental o mais realista possível, detalhando
as características do contexto experimental.
Priority Among Types of Validity Threats
Conflito entre tipos de validade: Aumentar um tipo de validade pode
reduzir outro, tornando a priorização entre validade interna, externa,
de conclusão e de constructo um problema de otimização.
Testes de teoria: Em experimentos de teoria, a prioridade é a validade
interna (causalidade) e a validade de constructo (representação
teórica), enquanto a validade externa é menos importante.
Pesquisa aplicada: Em pesquisa aplicada, a validade interna (relação
causa-efeito) e a validade externa (generalização) são prioritárias, com
menor foco na validade de constructo e de conclusão.
Equilíbrio de validades: A importância dos diferentes tipos de validade
deve ser equilibrada durante o planejamento do experimento, de
acordo com seu propósito, para garantir a relevância prática dos
resultados.
Example Experiment
Seleção do contexto: A escolha do contexto do experimento é influenciada
pela definição do objetivo, como a utilização de estudantes (M.Sc. e Ph.D.) e
documentos de requisitos com funcionalidades limitadas para garantir a
viabilidade do estudo.
Justiça na comparação: A comparação entre técnicas de leitura deve ser justa,
evitando o uso de suporte inadequado para uma técnica em detrimento da
outra. O experimento avalia duas técnicas de leitura (PBR e CBR), assegurando
condições comparáveis para ambas.
Formulação de hipóteses: O objetivo é comparar a efetividade (número de
falhas detectadas) e a eficiência (falhas detectadas por unidade de tempo)
entre as técnicas de leitura PBR e CBR. As hipóteses nulas e alternativas são
formuladas para verificar diferenças entre as técnicas.
Seleção de variáveis: A variável independente é a técnica de leitura (PBR ou
CBR), enquanto as variáveis dependentes são o número de falhas detectadas
e a eficiência no tempo. É essencial que os participantes marquem as falhas e
o tempo de detecção para análise posterior.
Example Experiment
Seleção de participantes: Geralmente, estudantes de cursos são os sujeitos
dos experimentos. A participação deve ser voluntária, com alternativas caso a
participação seja vinculada a créditos acadêmicos. A caracterização dos
sujeitos ajuda a avaliar a validade externa.
Escolha do tipo de design: O experimento utiliza um design completamente
randomizado, onde grupos de participantes alternam o uso das técnicas de
leitura em diferentes documentos de requisitos. O design é crucial para
equilibrar a experiência dos participantes e minimizar viés.
Instrumentação: O experimento usa um pacote de laboratório com
documentos de requisitos e listas de falhas conhecidas. As diretrizes para
ambas as técnicas de leitura devem ser comparáveis, e os formulários para
reportar falhas devem garantir rastreabilidade com os documentos.
Avaliação de validade: A avaliação dos riscos à validade deve ser feita
antecipadamente para minimizar ameaças. Embora seja impossível eliminar
todas as ameaças, a identificação e mitigação são importantes para a
integridade do experimento.
UNIVERSIDADE FEDERAL DO
AMAZONAS

Experimentation in Software Engineering


Claes Wohlin

Obrigado!

Apresentadores:
Emerson Veiga
Referências
Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012)
Experimentation in software engineering: an introduction. Springer

Você também pode gostar