Return to search

Uma proposta de representação e operadores genéticos para algoritmos evolucionários aplicados no reparo automatizado de software / A proposed representation and genetic operators for evolutionary algorithms applied in automated software repair

Submitted by JÚLIO HEBER SILVA (julioheber@yahoo.com.br) on 2017-09-13T17:19:44Z
No. of bitstreams: 2
Dissertação - Vinícius Paulo Lopes de Oliveira - 2017.pdf: 2066886 bytes, checksum: c610d8e21e23795d1cea6eeca17b5e5e (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2017-09-19T13:58:48Z (GMT) No. of bitstreams: 2
Dissertação - Vinícius Paulo Lopes de Oliveira - 2017.pdf: 2066886 bytes, checksum: c610d8e21e23795d1cea6eeca17b5e5e (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2017-09-19T13:58:48Z (GMT). No. of bitstreams: 2
Dissertação - Vinícius Paulo Lopes de Oliveira - 2017.pdf: 2066886 bytes, checksum: c610d8e21e23795d1cea6eeca17b5e5e (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)
Previous issue date: 2017-08-14 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES / Maintenance and software repair are responsible for most of the cost of a software in
the course of its life. Software repair through genetic evolution may repair errors and
improve software, reducing its high cost. GenProg is a technique that uses this approach
and through patches evolution it is capable to fix errors in large and small softwares.
A patch composed by low-granularity operations compromise the manipulation of these
operations. These operations consist of three subspaces: operation, location of application
of the operation and what the operation will apply at the location of the fault (operator,
fault and fix, respectively). The recombination and mutation operators applied to a low
granulation representation limits the ability of the technique to navigate in search space
efficiently. It is proposed the reformulation of the representation, in order to allow
greater search capability. Theoretical analysis of the representation showed that the new
representation has a greater locality than the original one. Through experimentation,
validation and genotypic analysis it is shown that the proposed changes have led to a
better performance with respect to the original operators and parameters in terms of
efficiency, in the first experiments the operator UnifSingle with memorization was 48.88%
more effective than the Original operator and then the operator OPSingle_V2 was 26%
more effective than the operator UnifSingle with memorization. Some characteristics
of these cross-operators were observed through a genotype distance analysis and their
influence on the automatic software reapair problem. The proposed mutation operator
shown superior results if compared to original. Combination between operator UniSingle
with memorization showed the best efficacy among all combinations of operators and
parameters (28.29% superior to the best result of the original GenProg). / Manutenção e reparo de software é responsável pela maior parte do custo de um software
no decorrer de sua vida. O reparo de software por meio de evolução genética pode
reparar erros e/ou melhorar softwares, diminuindo seu alto custo. GenProg é uma técnica
em desenvolvimento que utiliza esta abordagem e por meio de evolução de patches é
capaz de reparar erros em grandes e pequenos softwares. Um patch é composto por
operações de edições de baixa granularidade o que compromete a separação e edição
dessas operações. Essas operações são formadas por três subespaços: operação, local da
aplicação da operação e o que a operação irá aplicar no local da falha (operator, fault, fix,
respectivamente). Os operadores de recombinação e mutação aplicados às representações
de baixa granularidade limita a habilidade da técnica de navegar no espaço de busca de
forma eficiente. É proposto neste estudo, a reformulação da representação, do operador
de cruzamento e mutação a fim de permitir uma maior capacidade de busca. Análises
teóricas da representação demonstraram que a nova representação possui localidade
maior que a original. Por meio de experimentações, validações e análises genotípicas é
mostrado que as mudanças propostas levaram a uma melhoria em relação aos operadores
e parâmetros originais em termos de eficácia, sendo que nos experimentos iniciais o
operador UnifSingle com memorização apresentou eficácia 45,88% superior ao melhor
caso do operador Original e em seguida o operador posteriormente proposto OPSingle_V2
apresentou eficácia 26% superior ao UnifSingle com memorização. Foram observadas
algumas características desses operadores de cruzamento por meio de uma análise por
distância genotípica e suas influências no problema de reparo automatizado de software.
O operador de mutação proposto apresentou resultados superiores ao operador de mutação
original e combinado com operador UnifSingle com memorização, apresentou a melhor
eficácia entre todas as combinações de operadores e parâmetros.

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.bc.ufg.br:tede/7767
Date14 August 2017
CreatorsOliveira, Vinícius Paulo Lopes de
ContributorsCamilo Junior, Celso Gonçalves, Camilo Junior, Celso Gonçalves, Soares, Telma Woerle de Lima, Vincezi, Auri Marcelo Rizzo
PublisherUniversidade Federal de Goiás, Programa de Pós-graduação em Ciência da Computação (INF), UFG, Brasil, Instituto de Informática - INF (RG)
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Biblioteca Digital de Teses e Dissertações da UFG, instname:Universidade Federal de Goiás, instacron:UFG
Rightshttp://creativecommons.org/licenses/by-nc-nd/4.0/, info:eu-repo/semantics/openAccess
Relation-3303550325223384799, 600, 600, 600, 600, -7712266734633644768, 3671711205811204509, 2075167498588264571

Page generated in 0.0033 seconds