A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Elder Cirilo Pontifícia Universidade Católica do Rio de Janeiro Laboratório de Engenharia de Software Projeto de Experimento Controlado com Quadrado Latino.

Apresentações semelhantes


Apresentação em tema: "Elder Cirilo Pontifícia Universidade Católica do Rio de Janeiro Laboratório de Engenharia de Software Projeto de Experimento Controlado com Quadrado Latino."— Transcrição da apresentação:

1 Elder Cirilo Pontifícia Universidade Católica do Rio de Janeiro Laboratório de Engenharia de Software Projeto de Experimento Controlado com Quadrado Latino by Example Conteúdo baseado na apresentação de Eduardo Aranha, 1º Encontro de Engenharia de Software Experimental Natal

2 Objetivos Apresentar e motivar o uso de experimentos controlados baseados em engenharia de software baseados na técnica do quadrado latino. Ilustrar projetos de experimentos que utilizaram o quadrado latino como técnica de controle de fatores Ilustrar o processo de análise estatística em experimentos controlados baseados no quadrado latino.

3 Agenda 1.Exemplo ilustrativo 2.Experimentos controlados 3.Projetos estatísticos de experimento –Plano completamente aleatorizado –Plano aleatorizado em blocos completos –Plano de quadrado latinos 4.Exemplos de experimentos baseados no quadrado latino 5.Análise estatística em projetos baseados no quadrado latino, utilizando a ferramenta R.

4 Exemplo Ilustrativo Como avaliar diferentes tecnologias de Model-based Testing (MBT)? ABC

5 Contexto do Experimento Escolha a melhor tecnologia de MBT: A, B ou C –Eficiência –Efetividade –Facilidade de Uso –Facilidade de Manutenção Industria de Software –Profissionais variado –Projetos diferentes –Recursos limitados Requer resultados cientificamente embasados

6 Avaliar MBT no uso de três projetos em andamento –Escopo: projeto de testes – Visando minimizar os custos. Projeto de Experimento Ilustrativo Requisitos Desenvolvedor Abordagem ABC

7 Possíveis Resultados Tecnologia de MBT foi realmente a responsável pelos resultados? Se rodar o estudo em novos projetos, o resultado será o mesmo? Projeto h Projeto h Projeto h

8 Como obter resultados mais relevantes? Controlar os elementos existentes no ambiente de execução do experimento. –Elminar, reduzir ou diluir o efeito desses elementos Podemos controlar: –ambiente de desenvolvimento –experiência dos participantes –complexidade do projeto

9 Projeto 1 – Controle do Ambiente Controle –Um único projeto –Um único desenvolvedor Uso de todas as técnicas Ordem no uso das técnicas ABC 1o2o3o

10 Considerações Sobre a Proposta Fixar projeto e desenvolver elimina alguns efeitos indesejáveis –Complexidade do projeto –Expertise e experiência dos diferentes desenvolvedores –... Existem algum efeito de aprendizado por parte do desenvolvedor? Treinamentos podem amenizar esse tipo de efeito, mas existem alguma outra ameaça associada ao projeto do experimento?

11 Projeto 2 – Controlando Aprendizagem Controle –Mesmo perfil de desenvolvedor –Interesse pessoal determina técnica –Treinamento na abordagem escolhida ABC

12 Considerações Sobre a Proposta 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?

13 Projeto 3 – Evitando Viés Controle –Mesmo perfil de desenvolvedor –Sorteio determina técnica –Treinamento na técnica sorteada ABC

14 Considerações Sobre a Proposta Baixa probabilidade de ocorrer resultado tendencioso para o sorteio. É suficiente ter apenas uma observação para cada abordagem?

15 Projeto 4 – Aumentando Observações Número maior de desenvolvedores com mesmo perfil Sorteio da técnica a ser utilizada acompanhado de treinamento ABCABC

16 Experimento Controlado Procedimento que mudam de forma proposital as variáveis de um processo/sistema Observam mudanças na saída e identificar as causas Processo/Sistema Entradas Saída Variáveis controladas Variáveis não controladas (e possivelmente desconhecidas) x1x1 x2x2 xnxn … z1z1 z2z2 znzn … Coletam evidências contra hipótese formulada

17 Princípios Fundamentais dos Experimentos Controlados Controle Local –Eliminar, reduzir, diluir ou isolar o efeito de fatores de ruído –Fixar certos níveis para variáveis não investigadas Ex.: experiência dos participantes, complexidade do projeto Replicação –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 Aleatorização –Com réplicas, dilui o efeito de diferenças de motivação, experiência –Elimina possível viés do pesquisador e reduz efeito de aprendizado

18 Análise de Causa-Efeito Possível apenas quando utilizado os princípios de réplica com aleatorização Estudos observaicionais ou quase-experimentos –Ausência de aleatorização e/ou controle local

19 Como Analisar os Dados 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? Análise Estatísticas

20 Plano Aleatorizado em Blocos Completos Aplicado quando: –Existem 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êno de unidades experimentais –Aleatorização feita dentro dos blocos

21 Exemplo de Blocos em ES Nível de experiência em desenvolvimento Baixo Médio Alto Blocos (6 desenvolvedores) 18 participantes … … …

22 Até que Ponto Poderemos Generalizar os Resultados? Resultado do experimento limitado a um único tipo de projeto –Simples ou complexos Tamanho e complexidade de projetos na prática

23 Quadrados Latinos 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) Número de participantes cresce significamente neste cenário.

24 Cruzamento Entre Experiência e Tamanho AB C B B C C A A Réplicas mudando-se Desenvolvedores e/ou projetos Tamanho do Projeto Nível de Experiência

25 Limitações do Quadrado Latino Requer mesma quantidade de tratamento, linha e colunas Alguns quadrados precisam de mais de 2 réplicas –Ex: quadrado de tamanho 2

26 Exemplo 1 Cirilo, E. et al. Quadrado Latino by Example

27 Empirical Evaluation Our main goal is to investigate whether different techniques for product line implementation influence the correct comprehension of the configuration knowledge. Similar to related efforts two dimensions were evaluated in the empirical evaluation: –Correctness –Time

28 Research Questions We distinguish the following research questions. –RQ1: Does the availability of domain-specific models increase the correct comprehension of the configuration knowledge? –RQ2: Does the availability of domain-specific models reduce the time that is needed to correctly comprehend the configuration knowledge? –RQ3: Does the individual differences among the expertise of product line engineers impact on the correct comprehension of the configuration knowledge? –RQ4: Which types of configuration knowledge comprehension task benefit most from the use of domain-specific and from other code- oriented techniques?

29 Hypotheses Associated to the first two research questions are two null hypotheses –H10: The correct comprehension of the configuration knowledge does not depend on the different specification techniques. –H20: The time to correctly comprehend the configuration knowledge does not depend on the different specification techniques. The alternative hypotheses are the following: –H11: The correct comprehension of the configuration knowledge depends on the different specification techniques. –H21: The time to correctly comprehend the configuration knowledge depends on the different specification techniques.

30 Empirical Evaluation Correct Answers and Time Analysis –The correspondence between participants number of correct answers and tools/product lines –The influence of each approach in the time that each participant spend answering the questionnaire. Expertise Analysis –The influence of participants expertise in the number of correct answers

31 First Evaluation The study involved six post-graduate answering three questionnaires, one for each product line following the Latin Square Design ParticipantsE-ShopOLISBuyer P1 and P4G+PVC P2 and P5CG+PV P3 and P6PVCG+ Which abstraction(s)/code asset(s) is(are) related to the feature X? How many abstraction(s)/code asset(s) is(are) mapped to the feature Y?

32 Product Lines vs. Correct Answers Buyer - highest number of correct answers Lowest number of feature and no diversity of frameworks Buyer - highest number of correct answers Lowest number of feature and no diversity of frameworks

33 Product Lines vs. Correct Answers OLIS - intermediate number of correct answers Well modularized features OLIS - intermediate number of correct answers Well modularized features

34 Product Lines vs. Correct Answers E-Shop - lowest number of correct answers Features no-well modularized E-Shop - lowest number of correct answers Features no-well modularized

35 Techniques vs. Correct Answers CIDE - lowest number of correct answers in the E-Shop product line CIDE - lowest number of correct answers in the E-Shop product line

36 Techniques vs. Correct Answers pure::variants – better number of hits for the E-Shop product line than CIDE pure::variants – better number of hits for the E-Shop product line than CIDE

37 Techniques vs. Correct Answers CIDE – better number of hits for the OLIS product line than pure::variants CIDE – better number of hits for the OLIS product line than pure::variants

38 Techniques vs. Correct Answers ± ± ±

39 Techniques vs. Time G+PVC e-Shop1:35:471:43:291:33:45 OLIS1:27:511:45:421:31:09 Buyer0:43:051:17:421:14:42 Time demanded to answer the questionnaire. Average time to correct answer a question. G+PVC 0:02:570:04:390:03:10

40 Participants Expertise P1P2P3P4P5P6 Spring Struts Spring MVC Hibernate iBatis Spring-DM Jadex e-Shop OLIS Buyer e-Shop – 1.5 OLIS – 2.87 Buyer – 1.5 e-Shop – 1.5 OLIS – 2.87 Buyer – 1.5

41 Expertise Results

42 Expertise Analysis

43 Statistical Results – Answers 25/1/ Nome do Autor © LES/PUC-Rio chi-squareddfp-value Kruskal-Wallis Kruskal-Wallis

44 Statistical Results - Time 25/1/ Nome do Autor © LES/PUC-Rio ANOVADFSum SqMean SqF ValuePr(>F) Tool ANOVA

45 Second Evaluation Our study involved fifteen post-graduate answering three questionnaires, one for each product line following the Latin Square Design Questions were devised into four different comprehensibility tasks: –Identifying all files in which source code of a feature occurs –Identifying all features that occurs in a certain file –Identifying all framework-concept instances that are implementing a certain feature –Investigating dependencies between framework-concept instances

46 Statistical Results – Answers DFSum SqF ValuePr(>F) Tools e-05 ANOVA ~26.28% GenArch+ ~34.53%

47 Statistical Results – Answers difflwruprp adj G,-C P,-C P,-G Tukey ~26.28% GenArch+ ~34.53%

48 Statistical Results – Time chi-squareddfp-value Kruskal-Wallis Kruskal-Wallis ~19.41% GenArch+ ~62.65%

49 Individual Task Performance - Anwsers 50%87%

50 Individual Task Performance - Time 5x

51 Exemplo 2 Ribeiro, M. et al. Quadrado Latino by Example

52 Empirical Evaluation To better understand the use of Emergent Interfaces in preprocessor-based software product lines in maintenance activity. Hypotheses –H1: With and without Emergent Interfaces, developers spend on average the same time to complete a maintenance task involving feature dependences. –H2: With and without Emergent Interfaces, developers commit on average the same number of errors when performing a maintenance task involving feature dependencies.

53 Design The study involved 24 under/post-graduate one for each product line following the Latin Square Design ParticipantsBestlapMobile Media P1 … nEIWout IE P2 … nWout IEEI

54 Collecting the metrics Eclipse plug-in that consists of two buttons –Play/Pause –Finish

55 Maintenance Tasks Implementation of a New requirement –In the Best Lap, the game score be not only positive, but also negative. –In the Mobile Media, subjects should replace the actual web images server for another one that is able to provide more and different image formats. Fixing of Unused-variable

56 Experiment Execution To make subjects ware of preprocessor, VSoC, Feature Dependencies, Emergent Interfaces, and Emergo, a one hour training was provided before running the experiment. One toy example, Jcacl, was used to explain these concepts and exemplify the task New requirement and Unused- variable They performed the experiment with 10 MSc/PhD students at Federal University of Pernambuco, Brazil (Round 2) and replicated the experiment with 14 undergraduate students at Federal University of Alagoas, Brazil (Round 3).

57 Data Interpretation New requirement task – Round 2

58 Data Interpretation New requirement task – Round 2

59 Data Interpretation New requirement task – Round 3

60 Data Interpretation New requirement task – Round 3

61 Data Interpretation Unused Variable – Time Penalty

62 Data Interpretation Unused Variable – Round 2

63 Data Interpretation Unused Variable – Round 2

64 Data Interpretation Unused Variable – Round 3

65 Data Interpretation Unused Variable – Round 3

66 Conclusions Question 1: Do Emergent Interfaces reduce effort during maintenance tasks involving feature code dependencies in preprocessor-based systems? –We conclude that Emergent Interfaces reduce the time spent to accomplish the New- requirement task. Without them, subjects are 3 and 3.1 times slower. –When considering the Unused-variable task, the time difference with and with- out Emergent Interfaces is smaller when compared to the New-requirement task. On average, subjects are 1.5 and 1.68 times slower without Emergent Inter- faces.

67 Conclusions Question 2: Do Emergent Interfaces reduce the number of errors during maintenance tasks involving feature code dependencies in preprocessor-based systems? –The results show that, with Emergent Interfaces, subjects might be aware of feature dependencies. Hence, the probability of changing the impacted features increases, leading them to press the Finish button not rashly. –Without Emergent Interfaces, subjects committed 84% and 81% of the errors. –without Emergent Interfaces tend to write more feature expressions wrongly when compared to with Emergent Interfaces: 75% and 78%

68 Ferramenta R Análise estatística em projetos baseados no quadrado latino

69 Ferramenta R Ferramenta para análise estatística gratuita Baseada na Linguagem R –Utilização é realizada através de comando em um console –Comandos realizados sobre dados ou resultados de função –Dados podem ser dispostos em um vetor, matriz ou data frame.

70 Ferramenta R

71 Repesentando Quadrado Latino Replica, Estudante, EstudoDeCaso, Tecnica, Resposta 1, 1, bY, G, , 1, oL, C, , 1, eS, P, , 2, bY, P, , 2, oL, G, , 2, eS, C, , 3, bY, C, , 3, oL, P, , 3, eS, G, , 4, bY, G, , 4, oL, C, , 4, eS, P, , 5, bY, P, , 5, oL, G, , 5, eS, C, , 6, bY, C, , 6, oL, P, , 6, eS, G, 7.20 …

72 Comandos Carregando os dados data.ql = read.table(file=dados-resposta.txt",header = T) attach(data.ql) Definindo elementos do quadrado latino Replica <- factor(Replica.) Estudante <- factor(Estudante.) EstudoDeCaso <- factor(EstudoDeCaso.) Tecnica <- factor(Tecnica.) Plotando os resultados plot(Resposta~Tecnica,col="gray", xlab="SPL Tool",ylab="Answers")

73 Comando – Teste de Variança anova.ql = aov(Resposta~Replica+Estudante:Replica +EstudoDeCaso+Tecnica) summary(anova.ql) kw <- kruskal.test(Resposta~Estudante+EstudoDeCaso +Tecnica,data.ql) Verificar se amostra possui distribuição normal e mesma variança. –Distribuição Normal: Shapiro-Wik shapiro.test(Resposta) Se p-value > 0.05 = OK, a amostra é normal –Mesma viriança: Levene levene.teste(Resposta) Se p-value > 0.05 = OK, a amostra possui mesma variança

74 Comando – Comparações Multíplas ANOVA –Método Tukey fmTukey=TukeyHSD(anova.ql,"Tecnica") fmTukey Kruskal –Método Nemenyi-Damico-Wolfe-Dunn oneway_test(Dificuldade ~ Tecnica, data = data.ql)

75 Elder Cirilo Pontifícia Universidade Católica do Rio de Janeiro Laboratório de Engenharia de Software Projeto de Experimento Controlado com Quadrado Latino by Example Conteúdo baseado na apresentação de Eduardo Aranha, 1º Encontro de Engenharia de Software Experimental Natal


Carregar ppt "Elder Cirilo Pontifícia Universidade Católica do Rio de Janeiro Laboratório de Engenharia de Software Projeto de Experimento Controlado com Quadrado Latino."

Apresentações semelhantes


Anúncios Google