Page 1

SOES #83

On Parameter Tuning in Search Based Software Engineering Andrea Arcuri e Gordon Fraser @ SSBSE’2011

Allysson Allex Araújo goes.uece.br/allyssonaraujo


ROTEIRO

- Introdução - Experimentos - Guidelines - Ameaças à validade - Conclusões


INTRODUÇÃO


INTRODUÇÃO ●

Ferramentas de SBSE devem ser tratatas como “caixas pretas”; O processo de tuning é considerada uma das principais barreiras na utilização de técnicas de busca; A parametrização exerce um papel preponderante na performance do algoritmo.


INTRODUÇÃO ●

No Free Lunch (NFL) ○ SBSE representa apenas um subconjunto problemas; Evitar uma parametrização imprópria;

O usuário deve ter necessidade de conhecimento profundo sobre a ferramenta?


INTRODUÇÃO ●

Search budget ○ Exploitation e Exploration; ○ Cenários de aplicação; ○ Relação entre search budget e tuning. Maior análise empírica sobre tuning em SBSE até o momento; Caso de estudo: Geração de dados de teste;


INTRODUÇÃO ●

Parameter tuning vs Parameter control; Seleção de um subconjunto de configurações para testes ○ ○

Regressions trees; Response surface methology.

Ferramentas de apoio ao usuário ○ ○

GUIDE; EvoTest.


EXPERIMENTOS


CONFIGURAÇÕES ●

Problema ○

Search objective ○ ○

Derivar uma suíte de testes (conjunto de casos de teste) para uma classe.

Cobertura de ramificação; Maximizar a cobertura (de acordo com um certo critério), enquanto se minimiza o número de testes e seu tamanho.

Parâmetros investigados ○

Cruzamento; População; Elitismo; Seleção; Replacement e Critério de Parada.


EXPERIMENTOS ●

Configurações ○

20 classes Java;

Cruzamento: {0, 0.2, 0.5, 0.8, 1};

Tamanho da população: {4, 10, 50, 100, 200};

Taxa de elitismo: {0, 1, 10%, 50%};

Seleção: roleta, torneio e seleção rankeada;

Replacement (ativado ou não);

Search budget: {10,000; 100,00; 1,000,000}.

Worst (W); Best (B); Default (D) e Tuned (T).


RQ1) Quão impactante é a escolha errada de uma configuração de parâmetros? Tabela 1. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.


RQ1) Quão impactante é a escolha errada de uma configuração de parâmetros? Classe trivial

Tabela 1. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.


RQ1) Quão impactante é a escolha errada de uma configuração de parâmetros? Tabela 1. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.

MELHORA!


RQ1) Quão impactante é a escolha errada de uma configuração de parâmetros?

“ Uma escolha errada pode dificultar algo que poderia ser fácil.

“ Diferentes configurações de parâmetros podem ocasionar em uma grande variância da performance.


RQ2) Como se comporta uma configuração default quando comparada com a best e a worst?

Tabela 1. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.

>> <<<


RQ2) Como se comporta uma configuração default quanto comparada com a best e a worst?

“ Se não há possibilidade de tuning, a configuração default é ineficiente.

“ Uma configuração default cumpre relativamente bem seu papel, mas está muito aquém de uma uma configuração ótima.


RQ3) Caso se tune o algoritmo para um conjunto de classes, qual sua performance em relação as outras? Tabela 2. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.


RQ3) Caso se tune o algoritmo para um conjunto de classes, qual sua performance em relação as outras? Tabela 2. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.

Não é possível generalizar!


RQ3) Caso se tune o algoritmo para um conjunto de classes, qual sua performance em relação as outras? Tabela 2. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.

As vezes tunar é até PIOR!


RQ2) Como se comporta uma configuração default quanto comparada com a best e a worst?

“ Um tuning muito intensivo em apenas um conjunto de instâncias pode ocasionar em parâmetros muito específicos. OVER-FITTING!

tuning deve ser feito em uma amostra “ Ogrande de instâncias. Caso contrário, há grandes chances da parametrização ser pior que uma configuração default.


RQ4) Quais os efeitos do search budget no tuning de parâmetros? Tabela 3. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.


RQ4) Quais os efeitos do search budget no tuning de parâmetros? Tabela 3. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.

persiste próximo de 1


RQ4) Quais os efeitos do search budget no tuning de parâmetros? O que é um grande search budget?

Tabela 3. Média de cobertura em 15 execuções. Destacado em negrito resultados significantemente diferentes.


RQ4) Quais os efeitos do search budget no tuning de parâmetros?

“ O search budget disponível tem um impacto profundo na configurações dos parâmetros a serem utilizados.


GUIDELINES


GUIDELINES i) Machine Learning ○

Divida em dois subconjuntos (training set e test set);

Utilize técnicas especificas para selecionar possíveis configurações de parâmetros;

Avaliar a performance em um conjunto separada e independente.


GUIDELINES ii) k-fold cross validation:

Figura 1: MĂŠtodo k-fold


AMEAÇAS


AMEAÇAS À VALIDADE ●

Internal validity ○ Cada experimento foi executado 15 vezes e seguiu-se um rigoroso procedimento estatístico na avaliação. Construct validity ○ Não se considerou outros fatores importantes como tamanho da suíte de teste e a legibilidade.

External validity ○ Utilizou-se apenas 20 classes.


CONCLUSÕES


INTRODUÇÃO ●

Pioneiro e maior estudo quantitativo sobre o efeito do tuning em SBSE;

Importância na parametrização na conclusão científica; Sugestões de abordagens para tuning e discussão sobre search budget.


OBRIGADO!

Grupo de Otimização em Engenharia de Software da UECE goes.uece.br

SOES #83 - On parameter tuning in search based software engineering  
Read more
Read more
Similar to
Popular now
Just for you