projeto de experimentos em engenharia de software
Post on 16-Oct-2021
1 Views
Preview:
TRANSCRIPT
Projeto de Experimentos em Engenharia de Software
Projeto de Experimentos em Engenharia de Software
Eduardo Aranha, UFRN (eduardoaranha@dimap.ufrn.br)Cristiano Ferraz, UFPE (cferraz@de.ufpe.br) Paulo Borba, UFPE (phmb@cin.ufpe.br)
1º Encontro de Engenharia de Software Experimental 2011
Natal, 10 e 11 de Outubro de 2011
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
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
4
Problema ReferênciaProblema Referência
Como avaliar diferentes tecnologias de Model Based Testing (MBT)?
A B C
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• ...
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.
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
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
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:
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:
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
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
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:
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...
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
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?
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
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?
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
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
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
22
Aumentando a Quantidade de Réplicas
Aumentando a Quantidade de Réplicas
• Adicionar mais desenvolvedores
• Subdividir o problema
Requisitos daaplicaçãocompleta
homemhora
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
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
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
26
Princípios aprendidos pelo engenheiro de SW formam a base dos
EXPERIMENTOS CONTROLADOS
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.
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
29
DefiniçõesDefinições
• Fatores
• Níveis de fatores
• Tratamento
• Unidade experimental
30
Princípios Fundamentais dos Experimentos Controlados
Princípios Fundamentais dos Experimentos Controlados
• Controle local
• Replicação
• Aleatorização
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, ...
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!
...
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. . . . . . . . .
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
35
Nível de ImportânciaNível de Importância
Aleatorização
Replicação
Controle local
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
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)
38
Plano Experimental
COMPLETAMENTE ALEATORIZADO
CRD – Completely Randomized Design
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
40
Proposta A4 (CRD) do Engenheiro de SW
Proposta A4 (CRD) do Engenheiro de SW
Requisitos:
Desenvolvedor:
Abordagem: C A B C B A
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:
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
43
Modelo LinearModelo Linear
ijiijy ετµ ++=
tratamento réplica
µ
µ+Ʈa
εa1
ya1
εa2ya2
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)
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)
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)
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
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
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
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
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?
52
Proposta B1: CRD com Desenvolvedor Senior e Junior
Proposta B1: CRD com Desenvolvedor Senior e Junior
• Desenvolvedores Junior
• Desenvolvedores Sênior
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
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
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
56
Plano Experimental
ALEATORIZADO EM BLOCOS COMPLETOS
RCBD – Randomized Complete Block Design
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
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
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
60
Modelo Linear*Modelo Linear*
bloco tratamento
µ
µ+βs+Ʈa
εsa1
ysa1
εsa2ysa2
ijkjijky ετµ ++=réplica
iβ +
µ+βs
*Suposição de aditividade
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
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:
...
63
Plano Experimental
QUADRADOS LATINOS
LS – Latin Square
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)
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
66
AleatorizaçãoAleatorização
B(3) A(2) C(1)
C(1) B(3) A(2)
A(2) C(1) B(3)
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 ...
...
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
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
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
71
Modelo LinearModelo Linear
linha tratamento
µ
µ+α1+β1+Ʈa
ε11a1
y11a1
ε11a2y11a2
ijklkijkly ετµ ++=réplica
jβ +
µ+α1
coluna
iα +
µ+α1+β1
Supõe aditividade
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
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
74
Considerações FinaisConsiderações Finais
• Experimentos controlados– Controle local– Replicação– Aleatorização
• Importância experimentação em ES– SBES, ESELAW, ESEM, ICSE,...
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
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.
Projeto de Experimentos em Engenharia de Software
Projeto de Experimentos em Engenharia de Software
Eduardo Aranha, UFRN (eduardoaranha@dimap.ufrn.br)Cristiano Ferraz, UFPE (cferraz@de.ufpe.br) Paulo Borba, UFPE (phmb@cin.ufpe.br)
1º Encontro de Engenharia de Software Experimental 2011
Natal, 10 e 11 de Outubro de 2011
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)
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
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)
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?
top related