15
Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira

Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Embed Size (px)

Citation preview

Page 1: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis

Parte 2: Resultados da utilização do CCFinder

Carlos Eduardo PontualFernanda d’AmorimLeopoldo Teixeira

Page 2: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

FLiPEx

FLiPG

UI

FLiPC

Page 3: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Parâmetros Utilizados

• Minimum Clone Length – 33

• Minimum TKS– 12

• Shaper Level– 2 - Soft Shaper

Page 4: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Quantidade de Clones Encontrados

• Quantidade de pares detectados– 987

• Quantidade de Clones associados a Concerns– 324

Page 5: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Concerns / Clones• FLiPEx– Suportar clonagem de extrações / 1 CLN– Criar Projeto com a natureza FLiP / 2 CLN– Suportar Extrair código pré-processado / 0 CLN– Suportar técnicas de extração / 0 CLN– Extrair código para pré-processado / 15 CLN – Extrair código para aspectos / 215 CLN– Inicializar plugin FLiPEx / 2 CLN

Page 6: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Concerns / Clones

• FLiPC– Executar geração de builds / 3 CLN – Inicializar plugin FLiPC / 0 CLN

Page 7: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Concerns / Clones

• FLiPG– Criar feature / 6 CLN– Associar artefato a uma expressão de features / 22 CLN– Atualizar feature model / 13 CLN– Atualizar configuration knowledge / 10 CLN– Criar restrições sobre o feature model / 6 CLN– Gerar especificações de build / 1 CLN– Suportar expressões de features / 16 CLN– Inicializar plugin FLiPG / 2 CLN

Page 8: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

AJDT Extractors

Page 9: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo
Page 10: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

AJDT Validators

Page 11: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo
Page 12: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Tratamento de Exceções

Page 13: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo
Page 14: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Curiosidade - FlipNaiveASTFlattener

Page 15: Flip - Ferramenta para Linhas de Produtos de Aplicações Móveis Parte 2: Resultados da utilização do CCFinder Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo

Conclusão

• Grande concentração de clones– Extractors e Validators AJDT– Tratamento de exceções• Diversos clones entre módulos diferentes• Concern não tratado anteriormente

• Fortes candidatos a se tornarem aspectos