Projeto de Experimentos em Engenharia de Software

Post on 16-Oct-2021

1 views 0 download

Transcript of Projeto de Experimentos em Engenharia de Software

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

homem­hora

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

homem­hora

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 Causa­EfeitoAnálise de Causa­Efeito

• Possível apenas quando utilizado os princípios de réplicas com aleatorização

• Estudos observacionais ou quase­experimentos– 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

valor­p

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

• T­test – 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 mudando­se 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

(a­1)(b­2)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. Wiley­Interscience, 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, 201­228, 2007.

• K. Hinkelmann and O. Kempthorne. Design and Analysis of Experiments, Introduction to Experimental Design. Wiley­Interscience, 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. Wiley­Interscience, 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?