Experimentos envolvendo ações de Rejuvenescimento de Software
Projeto de Experimentos em Engenharia de Software
Transcript of Projeto de Experimentos em Engenharia de Software
![Page 1: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/1.jpg)
Projeto de Experimentos em Engenharia de Software
Projeto de Experimentos em Engenharia de Software
Eduardo Aranha, UFRN ([email protected])Cristiano Ferraz, UFPE ([email protected]) Paulo Borba, UFPE ([email protected])
1º Encontro de Engenharia de Software Experimental 2011
Natal, 10 e 11 de Outubro de 2011
![Page 2: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/2.jpg)
2
ObjetivosObjetivos
• Apresentar e motivar o uso de experimentos controlados
• Introduzir técnicas “básicas” de projeto estatístico de experimentos– Controle– Precisão– Eficiência
![Page 3: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/3.jpg)
3
Agenda
Problema referência Experimentos controlados Projeto estatístico de experimentos
Plano Completamente Aleatorizado Plano Aleatorizado em Blocos Completos Plano de Quadrados Latinos
Conclusões
![Page 4: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/4.jpg)
4
Problema ReferênciaProblema Referência
Como avaliar diferentes tecnologias de Model Based Testing (MBT)?
A B C
![Page 5: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/5.jpg)
5
Model Based Testing MBT
UML CNL LTS
Especificação doSistema
Especificação usandonotação específica:
Especificação doscasos de teste:
A B C
Execução manual ou automação
Avaliação:
• Eficiência• Efetividade• Facilidade de
manutenção• ...
![Page 6: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/6.jpg)
6
Nossos Assistentes
Estatístico* Sem Conhecimento de
Tecnologias de SW Conhecimento das técnicas
de DOE
Engenheiro de SW Responsável por planejar
avaliações sobre MBT Sem conhecimento de
técnicas de DOE
DOE – Design of Experiments
* Neste tutorial o estatístico tem como objetivo interagir gradativamente o engenheiro de SW, guiando o engenheiro na busca da solução mais apropriada.
![Page 7: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/7.jpg)
7
Contexto dos AssistentesContexto dos Assistentes
• Escolha da melhor tecnologia: A, B e C
• Indústria de software– Profissionais variados– Projetos diferentes– Recursos limitados– Requer resultados cientificamente embasados
![Page 8: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/8.jpg)
8
Como Avaliar as Ferramentas de MBT?
Como Avaliar as Ferramentas de MBT?
• Estudos serão propostos pelo engenheiro de SW e avaliados pelo estatístico
![Page 9: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/9.jpg)
9
Proposta A1 do Eng. de SW(minimização de custos)
Proposta A1 do Eng. de SW(minimização de custos)
• Usar MBT em três projetos em andamento– Escopo: projeto dos testes
Requisitos:
A B C
Desenvolvedor:
Abordagem:
![Page 10: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/10.jpg)
10
Possíveis Resultados e Conclusões da Proposta A1
Possíveis Resultados e Conclusões da Proposta A1
Abordagens: A, B, C
• Mas a abordagem MBT utilizada foi realmente a causa desses resultados?• E se eu rodar novamente o estudo em outros projetos, os resultados serão equivalentes?
h10 15 20 25 30 40
h10 15 20 25 30 40
h10 15 20 25 30 40
Cenário 1:
Cenário 2:
Cenário 3:
![Page 11: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/11.jpg)
11
Estudos de CasoEstudos de Caso
• Projetos reais ou ambiente próximo do real
• Existe planejamento, mas pouco controle sobre execução
• Cada projeto é singular
• Resultados são válidos, mas dificilmente podem ser generalizados ou reproduzidos
![Page 12: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/12.jpg)
12
Como Obter Resultados Mais Relevantes?
Como Obter Resultados Mais Relevantes?
• Controlar os elementos existentes no ambiente de execução do estudo– Eliminar, reduzir ou diluir o efeito desses
elementos
Ambiente de desenvolvimento
Experiência dos participantes
Complexidade do projeto
![Page 13: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/13.jpg)
13
Proposta A2 do Eng. de SW(controle do ambiente)
Proposta A2 do Eng. de SW(controle do ambiente)
• Controle– Um único projeto– Um único
desenvolvedor
• Uso de todas as abordagens
Requisitos:
Desenvolvedor:
Abordagens:
(1º) (2º) (3º)
A B C
Ordem de Execução:
![Page 14: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/14.jpg)
14
Considerações Sobre Proposta A2
Considerações Sobre Proposta A2
• Fixar projeto e desenvolvedor elimina alguns efeitos indesejáveis
• Existe algum efeito de aprendizado por parte do desenvolvedor?
• Treinamentos podem amenizar esse tipo de efeito, mas...
![Page 15: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/15.jpg)
15
Proposta A3 do Eng. de SW(evitando efeito de aprendizagem)
Proposta A3 do Eng. de SW(evitando efeito de aprendizagem)
• Mesmo perfil de desenvolvedor
• Interesse pessoal determina abordagem
• Treinamento na abordagem escolhida
Requisitos:
Desenvolvedor:
Abordagens: A B C
![Page 16: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/16.jpg)
16
Considerações Sobre Proposta A3
Considerações Sobre Proposta A3
• Efeito dos requisitos continua eliminado
• Efeito do desenvolvedor voltou a existir– Porém, foi reduzido ao se fixar perfil do
participante
• Escolha de quem usa a técnica pode estar tendenciosa?
![Page 17: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/17.jpg)
17
Proposta A4 do Eng. de SW(evitando viés)
Proposta A4 do Eng. de SW(evitando viés)
• Mesmo perfil de desenvolvedor
• Sorteio determina abordagem
• Treinamento na abordagem sorteada
Requisitos:
Desenvolvedor:
Abordagens: A B C
![Page 18: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/18.jpg)
18
Considerações Sobre Proposta A4
Considerações Sobre Proposta A4
• Baixa probabilidade de ocorrer resultado tendencioso para o sorteio
• É suficiente ter apenas uma observação para cada abordagem?
![Page 19: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/19.jpg)
19
Proposta A5 do Eng. de SW(aumentando observações)
Proposta A5 do Eng. de SW(aumentando observações)
• Mais desenvolvedores com mesmo perfil• Sorteio da abordagem + treinamento
Requisitos:
Desenvolvedor:
Abordagem: C A B A C B
![Page 20: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/20.jpg)
20
Possíveis Resultados e Conclusões da Proposta A5
Possíveis Resultados e Conclusões da Proposta A5
Abordagens: A, B, C
h10 15 20 25 30 40
h10 15 20 25 30 40
Cenário 1:
Cenário 2:
h10 15 20 25 30 40
h10 15 20 25 30 40
![Page 21: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/21.jpg)
21
Possíveis Resultados e Conclusões da Proposta A5
Possíveis Resultados e Conclusões da Proposta A5
Abordagens: A, B, C
h10 15 20 25 30 40
Cenário 3:
Quantidade de observações está suficiente?
h10 15 20 25 30 40
![Page 22: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/22.jpg)
22
Aumentando a Quantidade de Réplicas
Aumentando a Quantidade de Réplicas
• Adicionar mais desenvolvedores
• Subdividir o problema
Requisitos daaplicaçãocompleta
homemhora
![Page 23: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/23.jpg)
23
Aumentando a Quantidade de Réplicas
Aumentando a Quantidade de Réplicas
• Adicionar mais desenvolvedores
• Subdividir o problema
Requisitos dos módulos da aplicação
homemhora
![Page 24: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/24.jpg)
24
Conclusões Mudaram com Mais Réplicas?
Conclusões Mudaram com Mais Réplicas?
Abordagens: A, B, C
h10 15 20 25 30 40
h10 15 20 25 30 40
Cenário 1:
Cenário 2:h10 15 20 25 30 40
h10 15 20 25 30 40
![Page 25: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/25.jpg)
25
Conclusões Mudaram com Mais Réplicas?
Conclusões Mudaram com Mais Réplicas?
Abordagens: A, B, C
h10 15 20 25 30 40
Cenário 3:
h10 15 20 25 30 40
![Page 26: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/26.jpg)
26
Princípios aprendidos pelo engenheiro de SW formam a base dos
EXPERIMENTOS CONTROLADOS
![Page 27: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/27.jpg)
27
Experimento ControladoExperimento Controlado
• Procedimentos que mudam de forma proposital as variáveis de um processo/sistema
• Observam mudanças na saída e identificar as causas
Processo/SistemaEntradas Saída
Variáveis não controladas(e possivelmente desconhecidas...)
Variáveis controladas
Coletam evidências contra hipótese formulada.
![Page 28: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/28.jpg)
ConsideraçõesConsiderações
• Ambiente de laboratório x Ambiente industrial
• Aplicabilidade dos resultados dos estudos de caso x experimentos controlados
• Quantidade de recursos necessários
• Análise quantitativa x qualitativa
28
![Page 29: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/29.jpg)
29
DefiniçõesDefinições
• Fatores
• Níveis de fatores
• Tratamento
• Unidade experimental
![Page 30: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/30.jpg)
30
Princípios Fundamentais dos Experimentos Controlados
Princípios Fundamentais dos Experimentos Controlados
• Controle local
• Replicação
• Aleatorização
![Page 31: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/31.jpg)
31
Controle LocalControle Local
• Eliminar, reduzir, diluir ou isolar o efeito de fatores de ruído
• Exemplo de controle: fixar certos níveis para variáveis não investigadas– Experiência dos participantes, complexidade do
projeto, ...
![Page 32: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/32.jpg)
32
Replicação (interna)Replicação (interna)
• Aplicação de um tratamento em mais de uma unidade experimental
• Dilui efeito da variabilidade existente entre pessoas, projetos e artefatos “similares”
• Diminui chances de se obter resultados ao acaso
• Diferente de repetição!
...
![Page 33: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/33.jpg)
33
AleatorizaçãoAleatorização
• Com réplicas, dilui efeito de diferenças de motivação, experiência,...
• Elimina possível viés do pesquisador• Reduz efeito de aprendizado
C A B
(3º) (1º) (2º)
A B C
(3º) (1º) (2º)
A B C. . . . . . . . .
![Page 34: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/34.jpg)
34
Análise de CausaEfeitoAnálise de CausaEfeito
• Possível apenas quando utilizado os princípios de réplicas com aleatorização
• Estudos observacionais ou quaseexperimentos– Ausência de aleatorização e/ou controle local
Altura Experiência
Altura Experiência
Idade
![Page 35: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/35.jpg)
35
Nível de ImportânciaNível de Importância
Aleatorização
Replicação
Controle local
![Page 36: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/36.jpg)
36
Projeto Estatístico de ExperimentosProjeto Estatístico de Experimentos
• Configuração dos participantes, ambiente e materiais envolvidos
• Visa otimizar Uso de recursos x Conclusões• Define forma para análise dos dados• Respaldo científico dos resultados
![Page 37: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/37.jpg)
37
Planos ExperimentaisPlanos Experimentais
• Padrões de como projetar e analisar experimentos
• Motivação histórica: agricultura
Legado de R. A. Fisher The Design of Experiments (1935)
![Page 38: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/38.jpg)
38
Plano Experimental
COMPLETAMENTE ALEATORIZADO
CRD – Completely Randomized Design
![Page 39: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/39.jpg)
39
Plano Experimental Completamente Aleatorizado (CRD)
Plano Experimental Completamente Aleatorizado (CRD)
• Tratamentos atribuídos de forma aleatória as unidades experimentais
Imagem obtida em http://www.tfrec.wsu.edu/ANOVA/CRD.html
![Page 40: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/40.jpg)
40
Proposta A4 (CRD) do Engenheiro de SW
Proposta A4 (CRD) do Engenheiro de SW
Requisitos:
Desenvolvedor:
Abordagem: C A B C B A
![Page 41: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/41.jpg)
41
Mas Como Analisar os Dados?Mas Como Analisar os Dados?
Abordagens: A, B, C
h10 15 20 25 30 40Cenário 2:
Como avaliar situações onde análise visual não mostra claramente se houve ou não melhora significativa?
Será que com mais observações as conclusões mudariam?
h10 15 20 25 30 40Cenário 1:
![Page 42: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/42.jpg)
42
Esquema Básico das Fontes de Variação de Um Experimento
Esquema Básico das Fontes de Variação de Um Experimento
• Observação = Efeito do plano experimental + Efeito do tratamento + Efeito do erro experimental
• Erro experimental
![Page 43: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/43.jpg)
43
Modelo LinearModelo Linear
ijiijy ετµ ++=
tratamento réplica
µ
µ+Ʈa
εa1
ya1
εa2ya2
![Page 44: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/44.jpg)
44
• Afirmação sobre um parâmetro de uma modelo ou distribuição estatística– Média, mediana, variância, proporção, etc.
H0: µa= µb= µc
H1: µi ≠ µj
onde i,j = a, b, c
Hipótese EstatísticaHipótese Estatística
µ
N(µ, σ2)
![Page 45: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/45.jpg)
45
Idéia da Análise(cenário 1)
Idéia da Análise(cenário 1)
h
Variação “dentro" dos tratamentos (efeito dos resíduos)
hVariação “entre” os tratamentos
(efeito dos tratamentos)
![Page 46: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/46.jpg)
46
Idéia da Análise (cenário 2)
Idéia da Análise (cenário 2)
h
h
Variação “dentro" dos tratamentos (efeito dos resíduos)
Variação “entre” os tratamentos(efeito dos tratamentos)
![Page 47: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/47.jpg)
47
ANOVA – Analysis of VarianceANOVA – Analysis of Variance
N – 1Total
N – aErro Experimental
a – 1Tratamento
FoQuadrado Médio
Soma de Quadrados
Graus de Liberdade (G.L.)
(
Fonte de Variação
( )∑=
−a
ii yyn
1
2...
( )2
1 1.∑∑
= =
−a
i
n
jiij yy
( )2
1 1..∑∑
= =
−a
i
n
jij yy
TratamentoQM
ErroQM
Erro
Tratamentoo QM
QMF =
( )aNaF −− ,1
valorp
![Page 48: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/48.jpg)
48
Exemplo de ANOVAExemplo de ANOVA
Valor–P
407,1423Total
8,06169,2621Erro Experimental
118,94237,882Tratamento
FoQuadrado Médio
Soma de Quadrados
Graus de Liberdade (G.L.)
(
Fonte de Variação
76,14 01,0<
Conclusão: Rejeitamos H0 para α = 5%F0 = 14,76
0
0,2
0,4
0,6
0,8
0 4 8 12 16 20
![Page 49: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/49.jpg)
49
Suposições da ANOVASuposições da ANOVA
• Inferência baseada no modelo linear– Independência dos dados
– Variância constante
– Normalidade
• Inferência baseada na teoria de aleatorização– Variância constante
erro
y y
![Page 50: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/50.jpg)
50
Mas Como Saber Qual o Melhor Tratamento?
Mas Como Saber Qual o Melhor Tratamento?
• Olhar as médias das amostras e intervalos de confiança
• Ttest – H01 : µa ≤ µb H02 : µb ≤ µc H03 : µa ≤ µc
• Correção de Bonferroni (+ de 2 tratamentos)
h
‘
A C B
![Page 51: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/51.jpg)
51
A4: Até que Ponto Podemos Generalizar os Resultados?A4: Até que Ponto Podemos Generalizar os Resultados?
• Resultado do experimento limitado a um único perfil de desenvolvedores– Exemplo: juniores
• Resultado é válido?
![Page 52: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/52.jpg)
52
Proposta B1: CRD com Desenvolvedor Senior e Junior
Proposta B1: CRD com Desenvolvedor Senior e Junior
• Desenvolvedores Junior
• Desenvolvedores Sênior
![Page 53: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/53.jpg)
53
Considerações Sobre Níveis de Experiência no CRD
Considerações Sobre Níveis de Experiência no CRD
• Efeito da experiência inflaciona erro experimental
• Experimento usando CRD é ineficiente nessa situação– Mas resultado é válido!
µ
µ+Ʈa
εa1
ya1
εa2
ya2
![Page 54: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/54.jpg)
54
Proposta B2: Dois Experimentos Usando o CRD
Proposta B2: Dois Experimentos Usando o CRD
• Experimento 1: Grupo de desenvolvedores Junior
• Experimento 2: Grupo de desenvolvedores Sênior
Abordagens: A, B, C
Abordagens: A, B, C
![Page 55: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/55.jpg)
55
Considerações Sobre B2Considerações Sobre B2
• Isolamento do efeito nível da experiência– Erro experimental não será inflacionado
• Menor precisão da análise (graus de liberdade)
• E se resultados forem conflitantes?
• Situação pode ser tratada como um único experimento
![Page 56: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/56.jpg)
56
Plano Experimental
ALEATORIZADO EM BLOCOS COMPLETOS
RCBD – Randomized Complete Block Design
![Page 57: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/57.jpg)
57
Plano Aleatorizado em Blocos Completos
Plano Aleatorizado em Blocos Completos
• Aplicado quando:– Existe um fator não investigado com influência
significante na variável de saída– Não é possível ou interessante fixar um único
nível para esse fator
• Bloco– Grupo homogêneo de unidades experimentais– Aleatorização feita dentro dos blocos
![Page 58: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/58.jpg)
58
Exemplo de Blocos em Engenharia de SoftwareExemplo de Blocos em Engenharia de Software
• Níveis de experiência em desenvolvimento
...
...
Blocos(6 desenvolvedores)
Alto
Baixo
... Médio
18 participantes
![Page 59: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/59.jpg)
59
Esquema Básico das Fontes de Variação de Um Experimento
Esquema Básico das Fontes de Variação de Um Experimento
• Observação = Efeito do plano experimental + Efeito do bloco + Efeito do tratamento + Efeito do erro experimental
![Page 60: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/60.jpg)
60
Modelo Linear*Modelo Linear*
bloco tratamento
µ
µ+βs+Ʈa
εsa1
ysa1
εsa2ysa2
ijkjijky ετµ ++=réplica
iβ +
µ+βs
*Suposição de aditividade
![Page 61: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/61.jpg)
61
ANOVA para RCBDANOVA para RCBD
N – 1Total
(a – 1)(b – 1)Erro
Experimental
a – 1Tratamentos
FoQuadrado Médio
Soma de Quadrados
Graus de Liberdade (G.L.)
(
Fonte de Variação
TratamentoQM
ErroQM
Erro
Tratamentoo QM
QMF =
Blocos b – 1 QMBlocosSSBlocos
SSTratamento
SSErro
SST
![Page 62: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/62.jpg)
62
Até que Ponto Poderemos Generalizar os Resultados?Até que Ponto Poderemos
Generalizar os Resultados?
• Resultado do experimento limitado a um único tipo de projeto
• Tamanho e complexidade de projetos na prática:
...
![Page 63: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/63.jpg)
63
Plano Experimental
QUADRADOS LATINOS
LS – Latin Square
![Page 64: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/64.jpg)
64
Quadrado LatinoQuadrado Latino
• Aplicado quando:– Existem dois fatores de ruído com influência
significante na variável de saída
• Bloco– Combinação de níveis dos dois fatores de ruído
(linha, coluna)
![Page 65: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/65.jpg)
65
Cruzamentos Entre Experiência e Tamanho
Cruzamentos Entre Experiência e Tamanho
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
Nível deExperiência
Tamanho do Projeto
Réplicas mudandose desenvolvedores
ou projetos
![Page 66: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/66.jpg)
66
AleatorizaçãoAleatorização
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
![Page 67: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/67.jpg)
67
Formas de Obter Mais Observações(linhas)
Formas de Obter Mais Observações(linhas)
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
Réplica 1 do Quadrado Réplica 2 do Quadrado ...
...
![Page 68: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/68.jpg)
68
Formas de Obter Mais Observações(colunas)
Formas de Obter Mais Observações(colunas)
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
...
...
Réplica 1 do Quadrado Réplica 2 do Quadrado
![Page 69: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/69.jpg)
69
Formas de Obter Mais Observações(linhas e colunas)
Formas de Obter Mais Observações(linhas e colunas)
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
...
...
Réplica 1 do Quadrado Réplica 2 do Quadrado
![Page 70: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/70.jpg)
70
Esquema Básico das Fontes de Variação de Um Experimento
Esquema Básico das Fontes de Variação de Um Experimento
• Observação = Efeito do plano experimental + Efeito do tratamento + Efeito do erro experimental
![Page 71: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/71.jpg)
71
Modelo LinearModelo Linear
linha tratamento
µ
µ+α1+β1+Ʈa
ε11a1
y11a1
ε11a2y11a2
ijklkijkly ετµ ++=réplica
jβ +
µ+α1
coluna
iα +
µ+α1+β1
Supõe aditividade
![Page 72: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/72.jpg)
72
ANOVA para Quadrado LatinoANOVA para Quadrado Latino
N – 1Total
(a1)(b2)Erro
Experimental
a – 1Tratamentos
FoQuadrado Médio
Soma de Quadrados
Graus de Liberdade (G.L.)
(
Fonte de Variação
TratamentoQM
ErroQM
Erro
Tratamentoo QM
QMF =
Linha b – 1 QMLinhaSSLinha
SSTratamento
SSErro
SST
Coluna c – 1 QMColunaSSColuna
![Page 73: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/73.jpg)
73
Limitações do Quadrado LatinoLimitações do Quadrado Latino
• Requer mesma quantidade de tratamentos, linhas e colunas
• Alguns quadrados precisam de mais de 2 réplicas– Ex: quadrado de tamanho 2
![Page 74: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/74.jpg)
74
Considerações FinaisConsiderações Finais
• Experimentos controlados– Controle local– Replicação– Aleatorização
• Importância experimentação em ES– SBES, ESELAW, ESEM, ICSE,...
![Page 75: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/75.jpg)
75
Considerações FinaisConsiderações Finais
• Projeto estatístico de experimentos– Visa melhor controle, precisão e eficiência
• Planos experimentais– Completamente aleatorizado– Aleatorizado em blocos completos– Quadrado latino
![Page 76: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/76.jpg)
76
ReferênciasReferências
• G. Box, J. Hunter e W. Hunter. Statistics for Experimenters. WileyInterscience, 2nd edition, 2005.
• D. Montgomery. Design and Analysis of Experiments. Wiley, 7th edition, 2008.• A. Jedlitschka, M. Ciolkowski and D. Pfahl. Reporting Experiments in Software
Engineering. Guide to Advanced Empirical Software Engineering, Springer London, 201228, 2007.
• K. Hinkelmann and O. Kempthorne. Design and Analysis of Experiments, Introduction to Experimental Design. WileyInterscience, 2nd edition, 2007.
• R. Kuehl. Design of Experiments: Statistical Principles of Research Design and Analysis. Duxbury Press, 2nd edition, 1999.
• K. Maxwell. Applied Statistics for Software Managers. Prentice Hall, 2002.• G. Milliken and D. Johnson. Analysis of Messy Data: Designed Experiments,
volume I. Chapman Hall/CRC, 1993.• G. Snedecor and W. Cochran. Statistical Methods. Iowa State University Press,
8 edition, 1989.• C. Wu and M. Hamada. Experiments: Planning, Analysis, and Parameter
Design Optimization. WileyInterscience, 2000.
![Page 77: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/77.jpg)
Projeto de Experimentos em Engenharia de Software
Projeto de Experimentos em Engenharia de Software
Eduardo Aranha, UFRN ([email protected])Cristiano Ferraz, UFPE ([email protected]) Paulo Borba, UFPE ([email protected])
1º Encontro de Engenharia de Software Experimental 2011
Natal, 10 e 11 de Outubro de 2011
![Page 78: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/78.jpg)
78
Proposta C1: RCBD, onde bloco é (Tamanho, Experiência)
Proposta C1: RCBD, onde bloco é (Tamanho, Experiência)
... ... ...
... ... ...
... ... ...6 desenv.
(baixo, baixo)
(médio, baixo)
(alto, baixo)
(baixo, médio) (baixo, alto)
(médio, médio) (médio, alto)
(alto, médio) (alto, alto)
![Page 79: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/79.jpg)
79
Considerações Sobre C1Considerações Sobre C1
• Quantidade de execuções por participante foi triplicada!– 18 desenvolv. x 3 projetos = 54 observações
• Efeito de aprendizado é balanceado pela aleatorização– Mesmo assim, erro experimental será
inflacionado
![Page 80: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/80.jpg)
80
Proposta C3: Cada Desenvolvedor em um Único Bloco
Proposta C3: Cada Desenvolvedor em um Único Bloco
... ... ...
... ... ...
... ... ...
(baixo, baixo) (baixo, médio) (baixo, alto)
(médio, baixo) (médio, médio) (médio, alto)
(alto, baixo) (alto, médio) (alto, alto)
![Page 81: Projeto de Experimentos em Engenharia de Software](https://reader031.fdocumentos.tips/reader031/viewer/2022012410/616a5d8811a7b741a351b45c/html5/thumbnails/81.jpg)
81
Considerações Sobre Propostas C3
Considerações Sobre Propostas C3
• Não tem problema de efeito de aprendizado, mas aumenta variabilidade de experiência
• Quantidade de participantes foi triplicada!– De 18 para 54
• Experimento usando RCBD é ineficiente nessas situações– Como manter quantidade reduzida de
participantes e controlar efeito de aprendizado?