MESTRADO ACADÊMICO EM CIÊNCIA DA COMPUTAÇÃO
Universidade Estadual do Ceará
● DISSERTAÇÃO ●
PLANEJAMENTO DE RELEASE BASEADO EM OTIMIZAÇÃO INTERATIVA ATRAVÉS DA FORMALIZAÇÃO DAS PREFERÊNCIAS DO TOMADOR DE DECISÃO
Altino Dantas Basílio Neto
PhD. Jerffeson Teixeira de Souza - Orientador

Resumo

A Engenharia de Software (ES) apresenta desafios relacionados aos métodos e processos que envolvem a construção do seu produto alvo, o software. Por sua vez, a Engenharia de Software Baseada em Busca, do inglês, Search-based Software Engineering (SBSE) é um campo de pesquisa voltado à resolução de problemas complexos da ES, através da aplicação de técnicas de Otimização Matemática. Nesse escopo, destaca-se o Planejamento de Releases (PR), que é uma tarefa complexa e envolve diversos aspectos relacionados à decisão de quais requisitos devem ser implementados em cada versão de um software construído de forma iterativa e incremental. Muitos algoritmos de otimização têm sido aplicados ao PR, todavia, na maioria deles a expertise do Tomador de Decisão não é efetivamente consideradas para a geração de soluções, o que pode gerar certa rejeição ao resultados obtidos. Em razão disso, o presente trabalho propõe uma abordagem para resolução do PR, através da aplicação de Otimização Interativa apoiada por uma base de preferências dinamicamente modificada pelo Tomador de Decisão, de modo que as soluções encontradas contemplam tanto os aspectos próprios do PR quanto as convicções do referido profissional. Para isso, foi estabelecido um modelo para definição de tipos de preferências, a partir do qual formalizou-se 8 tipos de preferências para o PR. Elaborou-se uma formulação interativa para o problema e adaptou-se um Algoritmo Genético para geração de soluções. Com instâncias reais e artificiais, a técnica proposta foi avaliada tanto por simulação das interações humanas quanto por profissionais com experiência em desenvolvimento de software. Demonstrou-se, empiricamente, que a proposta consegue priorizar a satisfação das preferências mais importantes do Tomador de Decisão, e, em alguns casos satisfaz todas as preferências, perdendo não mais do que 11% na otimização dos aspectos próprios do PR. Ademais, a abordagem proposta é capaz de aumentar a satisfação do Tomador de Decisão, em média, de 44% para 82% quando comparada a uma abordagem não interativa.

Palavras-chave: Planejamento de Release. Algoritmo Genético. Modelagem de Preferências. Serach-Based Software Engineering.

Instâncias

Para avalição da Abordagem Proposta, foram utilizadas duas instâncias, “Processador de Texto” e “ReleasePlanner”, constituídas a partir de dados reais e disponibilizadas por Karim e Ruhe (2014). Além de duas outras nomeadas “dataset-3” e “dataset-4” construídas de forma eleatória. Para o experimento automático também foi gerado, aleatoriamente, um conjunto de preferências para cada instância.

Nome da Instâncias Quantidades Arquivos
Clientes (M) Requisitos (N) Releases (P) Instância Preferências
Processador de Textos 4 50 5 Download Download
ReleasePlanner 9 25 8 Download Download
Dataset-3 3 100 6 Download Download
Dataset-4 6 150 8 Download Download

Resultados

Passe o mouse sobre a QP para ver o texto e Clique para visualizar os respectivos resultados.

QP1: Qual a capacidade da abordagem em satisfazer as preferências do usuário?

QP2: Qual a consequência da satisfação das preferências do usuário?

QP3: A abordagem proposta é capaz de priorizar o atendimento das preferências mais importantes?

QP4: Qual a relação entre a quantidade de preferências na Base de Preferências e o percentual de preferências atendidas na solução final?

QP5: Diante de uma solução gerada interativamente, quão satisfeito o tomador de decisão estaria em relação ao atendimento de suas preferências?

QP6: Considerando uma solução interativa, qual a relação entre a satisfação do tomador de decisão e o percentual de importância das preferências atendidas?

RESULTADOSQP1

DP=10% Processador de Textos ReleasePlanner Dataset-3 Dataset-4
μ PS Â12 PS Â12 PS Â12 PS Â12
0,0 0,513 - - 0,211 - - 0,493 - - 0,529 - -
0,1 0,900 0,96 0,667 1 0,797 0,98 0,767 0,96
0,2 1,000 1 0,711 1 0,887 1 0,844 1
0,3 1,000 1 - 0,867 1 0,887 1 - 0,873 1
0,4 1,000 1 - 0,978 1 0,920 1 0,869 1
0,5 1,000 1 - 1,000 1 0,903 1 0,902 1
0,6 1,000 1 - 1,000 1 - 0,907 1 0,904 1
0,7 1,000 1 - 1,000 1 - 0,930 1 0,904 1 -
0,8 1,000 1 - 1,000 1 - 0,930 1 - 0,942 1
0,9 1,000 1 - 0,989 1 0,917 1 0,924 1
1,0 1,000 1 - 1,000 1 0,930 1 0,918 1

Tabela: média dos resultados de PS, valores do teste Â12 entre cada configuração de μ com relação à configuração μ = 0, e, indicação de diferença estatística ao se variar μ, para cada instância com uma certa quantidade de preferências.

Figura: percentual médio de Preferencias Satisfeitas (PS) de todas as instâncias, considerando a variação de μ com uma dada quantidade de preferências.

RESULTADOSQP2

DP=10% Processador de Textos ReleasePlanner Dataset-3 Dataset-4
μ GP PP Â12 GP PP Â12 GP PP Â12 GP PP Â12
0,1 0,75 0,015 0,71 2,16 0,018 0,89 0,61 0,002 0,50 0,45 0,000 0,52
0,2 0,95 0,024 0,81 2,37 0,023 0,92 0,80 0,000 0,50 0,60 -0,006 0,45
0,3 0,95 0,020 0,78 3,11 0,028 0,96 0,80 0,003 0,53 0,65 0,004 0,56
0,4 0,95 0,019 0,79 3,63 0,034 0,98 0,86 0,005 0,60 0,64 -0,007 0,44
0,5 0,95 0,017 0,76 3,74 0,034 1 0,83 0,011 0,68 0,71 -0,001 0,51
0,6 0,95 0,021 0,79 3,74 0,038 1 0,84 0,005 0,60 0,71 0,001 0,54
0,7 0,95 0,024 0,85 3,74 0,038 1 0,89 0,010 0,63 0,71 0,002 0,53
0,8 0,95 0,020 0,82 3,74 0,036 1 0,89 0,005 0,57 0,78 0,010 0,63
0,9 0,95 0,022 0,8 3,68 0,039 1 0,86 0,012 0,66 0,75 0,003 0,55
1,0 0,95 0,024 0,83 3,74 0,036 1 0,89 0,004 0,53 0,74 0,002 0,52

Tabela: Média dos resultados de GP e PP obtidos para todas as instâncias, diferentes configurações de μ e cada quantidade de preferências, indicação de diferença estatística entre os valores consecutivos de PP e estimativa do Â12 entre cada configuração de μ com relação à configuração μ = 0 com base nos valores de score.

Figura: Comparação entre GP e PP, considerando a média dos resultados obtidos para as quatro instâncias com cada densidade de preferências e configuração de μ

RESULTADOSQP3

Densidade de Preferências = 10% Processador de Textos ReleasePlanner Dataset-3 Dataset-4
μ PS NS Â12 PS NS Â12 PS NS Â12 PS NS Â12
0,1 0,90 0,93 0,57 0,67 0,94 1 0,80 0,91 0,9 0,77 0,88 0,86
0,2 1,00 1,00 0,50 0,71 0,95 0,88 0,89 0,96 0,88 0,84 0,95 0,9
0,3 1,00 1,00 0,50 0,87 0,98 0,58 0,89 0,97 0,97 0,87 0,96 0,88
0,4 1,00 1,00 0,50 0,98 1,00 0,50 0,92 0,98 0,79 0,87 0,96 0,93
0,5 1,00 1,00 0,50 1,00 1,00 0,50 0,90 0,97 0,9 0,90 0,98 0,97
0,6 1,00 1,00 0,50 1,00 1,00 0,50 0,91 0,97 0,88 0,90 0,97 0,88
0,7 1,00 1,00 0,50 1,00 1,00 0,50 0,93 0,98 0,74 0,90 0,97 0,88
0,8 1,00 1,00 0,50 1,00 1,00 0,50 0,93 0,98 0,74 0,94 0,98 0,69
0,9 1,00 1,00 0,50 0,99 1,00 0,50 0,92 0,98 0,82 0,92 0,98 0,85
1,0 1,00 1,00 0,50 1,00 1,00 0,50 0,93 0,98 0,74 0,92 0,97 0,78

Tabela: Média dos resultados de PS, NS e valores de Â12 entre ambos, para variações de μ em cada instância, considerando-se diferentes quantidades de preferências.

Figura: Comparação entre PS e NS, considerando a média dos resultados obtidos para as quatro instâncias com cada densidade de preferências e configuração do μ.

RESULTADOSQP4

µ = 0,1
DP 10 20 30 40 50 60 70 80 90 100
Processador de Textos 0.90 0.89 0.74 0.65 0.57 0.53 0.54 0.50 0.46 0.44
ReleasePlanner 0.67 0.80 0.72 0.59 0.52 0.56 0.58 0.58 0.55 0.51
Dataset-3 0.80 0.62 0.58 0.62 0.59 0.59 0.57 0.56 0.53 0.51
Dataset-4 0.77 0.63 0.58 0.56 0.55 0.51 0.49 0.48 0.47 0.47

Tabela: Média dos resultados de PS e indicação de diferença estatística entre os valores obtidos para cada instância e cada variação de densidade de preferências, considerando-se três diferentes configurações de μ.

Figura: Preferências Satisfeitas para cada instância considerando variação da quantidade de preferências com três diferentes configurações de μ.

RESULTADOSQP5

PARTICIPANTES #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 Média Desvio Padrão
Qtd. interações 8 109 15 47 23 54 20 31 20,00 25 35,20 29,48
Tempo (min) 16,14 45,40 26,93 19,57 11,81 25,41 21,50 19,88 16,87 26,88 23,04 9,26
Qtd. final de preferências 3 4 8 11 4 10 33 20 20,00 5,00 11,80 9,70
PS (Si) 1,00 1,00 0,88 0,91 1,00 0,90 0,78 1,00 0,85 1,00 0,93 0,08
PS (S) 0,33 0,75 0,25 0,55 0,50 0,30 0,27 0,30 0,25 0,60 0,41 0,18
NS (Si) 1,00 1,00 0,90 0,88 1,00 0,90 0,76 1,00 0,86 1,00 0,93 0,08
NS (S) 0,33 0,75 0,27 0,52 0,43 0,31 0,28 0,28 0,23 0,61 0,40 0,17
PP 0,07 0,02 0,04 0,04 0,01 0,09 0,07 0,13 0,03 0,006 0,05 0,04
Avaliação Subjetiva (Si) 0,93 0,87 0,88 0,75 0,93 0,84 0,75 0,88 0,50 0,87 0,82 0,13
Avaliação Subjetiva (S) 0,65 0,81 0,50 0,25 0,62 0,58 0,62 0,13 0,25 0,00 0,44 0,27

Tabela – Resultados do teste para cada um dos 10 participantes. (Si) é uma indicação de que o respectivo valor refere-se a uma solução interativa, ou seja, foi gerada com influência da Base de Preferências e no caso desse experimento foi utilizado μ = 1. (S) é uma indicação para resultados de uma solução não-interativa, gerada sem considerar as preferências do participante, ou seja, μ = 0.

RESULTADOSQP6

PARTICIPANTES #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 Média
NS (Si) 1,00 1,00 0,90 0,88 1,00 0,90 0,76 1,00 0,86 1,00 0,93±0,08
Avaliação Subjetiva (Si) 0,93 0,87 0,88 0,75 0,93 0,84 0,75 0,88 0,50 0,87 0,82±0,13
NS(Si)-AS(Si) 0,07 0,13 0,02 0,13 0,07 0,06 0,02 0,12 0,36 0,13 0,11±-0,05

Tabela - Resultados de NS e Avaliação Subjetiva bem como a diferença entre estes.

Figura - Relação entre Nível de Satisfação (NS) e Avaliação Subjetiva

CÓDIGOFONTE

A técnica de busca utilizada no processo de otimização foi um Algoritmo Genético Interativo adaptado do AG mono-objetivo presente no framework jMetal. Abaixo é possível baixar o código fonte de todo o projeto, escrito em linguagem Java, ou o arquivo .jar da aplicação.


Baixar Código fonte Baixar Aplicação

Tela principal da ferramenta desenvolvida.

Contato

E-mail: altino.dantas@uece.br

Currículo Lattes

Agradecimentos

Mestrado Acadêmico em Ciência da Computação - MACC

Grupo de Otimização em Engenharia de Software - GOES.UECE

Fundação Cearense de Apoio ao Desenvolvimento Científico e Tecnológico - FUNCAP