313 research outputs found

    Otimização para reduzir o tamanho de código-fonte JavaScript

    Get PDF
    JavaScript is one of the most used programming languages for front-end development of Web application. The increase in complexity of front-end features brings concerns about performance, especially the load and execution time of JavaScript code. To reduce the size of JavaScript programs and, therefore, the time required to load and execute these programs in the front-end of Web applications. To characterize the variants of JavaScript programs and use this information to build a search procedure that scans such variants for smaller implementations that pass all test cases. We applied this procedure to 19 JavaScript programs varying from 92 to 15,602 LOC and observed reductions from 0.2% to 73.8% of the original code, as well as a relationship between the quality of a program’s test suite and the ability to reduce its size.Esta Tese aborda o problema de otimização de tempo de carga de software, especificamente software escrito na linguagem de programação JavaScript, uma linguagem interpretada, baseada em objetos e amplamente utilizada no desenvolvimento de aplicativos e sistemas para a internet. Estudos experimentais foram projetados para avaliar a hipótese de que técnicas heurísticas já aplicadas com sucesso em linguagens orientadas a objeto poderiam ter resultados positivos na redução do tempo de carga de programas escritos em JavaScript. Para tanto, um ferramental que permitisse observar a aplicação de heurísticas selecionadas em programas JavaScript foi construído e executado em um ambiente de computação de alto desempenho. Os resultados dos estudos preliminares foram utilizados para criar um procedimento de busca que varre o código JavaScript criando variantes do programa que sejam menores e passem em todos os casos de teste do programa original. Aplicamos este procedimento a 19 programas JavaScript, variando de 92 a 15.602 linhas de código, e observamos reduções de 0,2% a 73,8% do código original, bem como uma relação entre a qualidade do conjunto de casos de testes e a capacidade de reduzir o tamanho dos programas

    B2 : um sistema para indexação e agrupamento de artigos científicos em português brasileiro utilizando computação evolucionária

    Get PDF
    Tese (doutorado)—Universidade de Brasília, Faculdade de Ciência da Informação, Programa de Pós-Graduação em Ciência da Informação, 2013.Nesta tese é apresentado um estudo estatístico sobre o agrupamento automático de artigos científicos escritos em português do Brasil, são propostos novos métodos de indexação e agrupamento de textos com o objetivo futuro de desenvolver um software para indexar e agrupar textos por área de conhecimento. Foram testadas três classes conhecidas de termos simples para representar (indexar) os textos de entrada a agrupar: (substantivos), (substantivos e adjetivos), (substantivos, adjetivos e verbos) e também foram desenvolvidas três novas classes de termos compostos para representação (indexação) dos textos: classes de termos mais complexos, onde um termo pode ser composto pela junção de substantivos, adjetivos e preposições. Durante a fase de agrupamento textual dos experimentos foram testados os algoritmos de agrupamento: Expectation-Maximization (EM), X-Means, um Algoritmo Evolucionário de Agrupamento Convencional e, ainda, um novo Algoritmo Evolucionário de Agrupamento Proposto cujo diferencial é trabalhar em duas etapas de processamento: uma etapa para localização do agrupamento subótimo genérico e outra etapa para melhorar tal solução. Adicionalmente, o novo algoritmo permite ao usuário definir a formação de mais grupos ou menos grupos no resultado de agrupamento. Os algoritmos de indexação e agrupamento propostos foram codificados e implementados em um protótipo denominado B2, no entanto, para testar os algoritmos de agrupamento EM e X-Means foi utilizado o pacote de mineração de dados WEKA. Quatro corpora de artigos científicos, diferentes entre si por guardarem artigos de áreas científicas distintas, foram reunidos para testar as combinações de indexação e algoritmo de agrupamento propostas. Melhores resultados de agrupamento (por área de conhecimento dos artigos) foram obtidos utilizando termos compostos na indexação, ao invés do uso de termos simples, quando combinados com o uso do novo Algoritmo Evolucionário de Agrupamento Proposto, porém, para obter grupos bem formados, um número excessivo de grupos é gerado pelo protótipo, consumindo alto tempo de computação para executar tais novos métodos, em um computador pessoal convencional do ano de 2012. Pode-se concluir que o problema de agrupar automaticamente artigos científicos em suas áreas originais é uma tarefa complexa. Logo, acredita-se que os métodos de indexação e agrupamento desenvolvidos possam ser aprimorados para utilização futura em situações específicas, onde a fragmentação e geração adicional de grupos além do esperado não seja um problema maior. ______________________________________________________________________________________ ABSTRACTThis thesis presents an empirical study about automated text clustering for scientific articles written in Brazilian Portuguese. We tested three already known classes of simple terms for representing (or indexing) the input texts: (nouns), (nouns and adjectives) and (nouns, adjectives and verbs); we also developed three new classes of composed terms for text representation (or indexing): the new classes consist of more complex terms, where a complex term could be composed by the joint of nouns, adjectives and prepositions. Our final goal is to develop new software for text indexing and clustering. During the clustering stage of the experiments we tested the Expectation-Maximization (EM) Clustering Algorithm, the X-Means Clustering Algorithm, the Conventional Clustering Evolutionary Algorithm and, finally, we also proposed a new Two Phase Clustering Evolutionary Algorithm which works in two phases, the first phase finds the sub-optimal text clustering and the second one improves the result found by the first phase. The Two Phase Clustering Evolutionary Algorithm also permits the user to define whether the system should create a high number or a low number of clusters. The new indexing and clustering algorithmic strategies presented were implemented in a prototype named B2, but for testing the EM and X-Means algorithms we used the known WEKA data mining package. Four different scientific corpora having different sets of scientific topics were assembled and applied for testing the combinations of indexing and clustering methods. Although considerable better results were achieved when indexing with the classes of composed terms combined with the new Two Phase Clustering Evolutionary Algorithm, a considerable higher number of clusters was generated and a considerable additional time was consumed when running the new system over a 2012 conventional personal computer. We conclude that the problem of clustering scientific articles in their original topics is a complex task. Good results of clustering correctness were achieved by the new methods but producing many fragmented additional clusters as output, so, in the future, the methods can be improved and applied in specific situations where the fragmentation and additional production of clusters are not a major problem

    Uma abordagem baseada em hiper-heurística e otimização multi-objetivo para o teste de mutação de ordem superior

    Get PDF
    Orientador : Prof. Dr. Silvia Regina VergilioDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 23/02/2017Inclui referências : f. 90-98Área de concentração: Ciência da ComputaçãoResumo: Determinar um conjunto de casos de teste que possua alta probabilidade de revelar defeitos em um software é um dos principais objetivos da área de teste de software. Dentre os vários critérios propostos na literatura destaca-se a Análise de Mutantes, uma abordagem promissora devido a sua capacidade em revelar defeitos, embora possua um custo computacional relativamente alto. Com o intuito de reduzir o custo da Análise de Mutantes, estudos empregam a utilização de mutação de ordem superior (Higher Order Mutants, HOMs). O uso de HOMs tem se destacado por reduzir o número de mutantes equivalentes, reduzir o esforço do teste e simular defeitos próximos dos defeitos reais. Entretanto, a geração dos melhores HOMs é uma tarefa complexa, devido ao grande número de mutantes que podem existir e a outros fatores que influenciam a geração, tais como a eficácia dos HOMs gerados. Trabalhos têm aplicado com sucesso técnicas da área da Engenharia de Software baseada em busca por meio da utilização de técnicas de otimização para solucionar esse problema. Entretanto, há ainda a necessidade de possuir um conhecimento sobre o comportamento do problema, de modo a determinar a melhor estratégia a ser utilizada, como projetar e configurar os algoritmos, escolhendo os diferentes operadores de busca e definindo seus parâmetros, para assim melhorar o direcionamento da busca. Neste sentido, o uso de hiper-heurística possibilita uma abordagem mais flexível para automatizar estas tarefas. Além disso, o uso de uma hiper-heurística de seleção de diferentes estratégias existentes para geração de HOMs pode ser útil para reduzir o esforço do testador. Diante disso, este trabalho propõe uma abordagem multi-objetivo que utiliza o conceito de hiper-heurística para gerar conjuntos de HOMs, denominada Hyper-Heuristic for Generation of Higher Order Mutants (HG4HOM). O objetivo é selecionar a menor quantidade de HOMs, os mais difíceis de serem mortos e assim melhorar a eficácia do teste, além de também possibilitar que ao matar um HOM seus FOMs (First Order Mutants) constituintes também possam ser mortos. Para isso, a abordagem é implementada e avaliada com dois algoritmos multi-objetivos: NSGA-II e SPEA2, e três métodos de seleção: Choice-Function (CF), Fitness-Rate-Rank based Multi-Armed Bandit (FRR-MAB) e a seleção aleatória (Random). O algoritmo SPEA2 utilizando o conceito de hiper-heurística juntamente com o método de seleção CF obteve os melhores resultados. Quando comparado com as estratégias tradicionais, a abordagem obteve resultados próximos em relação ao escore de mutação e valor equivalente ao melhor em relação ao tamanho do conjunto de casos de teste adequado. A abordagem obteve as soluções com melhores valores de Euclidean Distance considerando os objetivos relacionados a encontrar a menor quantidade de HOMs, os mais difíceis de serem mortos e capazes de substituírem seus FOMs constituintes. Palavras-chave: Teste de Software, Análise de Mutantes, Mutação de Ordem Superior, Algoritmos Evolutivos Multi-Objetivos, Hiper-Heurística.Abstract: One of the main testing goals is to determine test sets with a high probability of revealing faults. Mutant Analysis is a promising criterion due to its ability to reveal faults, although with a high computational cost. In order to decrease the mutation testing cost, studies employ the use of Higher Order Mutants (HOMs). The use of HOMs can contribute to decrease the number of equivalent mutants, decrease the test effort and simulate faults close to the real ones. However, the generation of the best HOMs is a complex task, due to the large number of mutants that may exist, and to other factors that influence the generation, such as the efficacy of the generated HOMs. To solve such a problem, some works have successfully applied Search-based Software Engineering techniques through the use of optimization techniques. However, it is still needed to have knowledge about the problem behavior, to determine the best strategy to be applied, and to know how to design and configure the algorithms by choosing the different search operators and defining their parameters in order to improve the search. In this sense, the use of hyper-heuristics allows a more flexible approach to automating these tasks. Also, the use of a hyper-heuristic for selection of different existing strategies to generate HOMs can be useful to reduce the tester's effort. Considering all these facts, this work proposes a multi-objective approach, called Hyper-Heuristic for Generation of Higher Order Mutants (HG4HOM), which uses the hyper-heuristic concept to generate sets of HOMs. The goal is to select a small number of HOMs which are difficult to kill, and that contribute to improve the test efficacy, that is, it is desired the test cases that kill the selects HOMs are also capable of killing their corresponding FOMs (First Order Mutants). The approach is implemented and evaluated with two multi-objective algorithms: NSGA-II and SPEA2, and three selection methods: Choice-Function (CF), Fitness-Rate-Rank based Multi-Armed Bandit (FRR-MAB ), and random selection (Random). The SPEA2 algorithm using the hyper-heuristic concept together with the CF selection method obtained the best results. In comparison with respect to the traditional strategies, the approach achieved similar results related to the mutation score and statically equivalent values to the best strategy considering the size of the adequate test case sets. The approach obtained the best results when considering the Euclidean Distance values of the solutions with respect to the goals proposed. Keywords: Software Testing, Mutation Analysis, Higher Order Mutation, Multi-objective Evolutionary Algorithms, Hyper-heuristic

    Implementação de um modelo de geometric semantic genetic programming para aplicação naval

    Get PDF
    Project Work presented as the partial requirement for obtaining a Master's degree in Information Management, specialization in Information Systems and Technologies ManagementRecaí sob a responsabilidade da Marinha Portuguesa a gestão da Zona Económica Exclusiva de Portugal, assegurando a sua segurança da mesma face a atividades criminosas. Para auxiliar a tarefa, é utilizado o sistema Oversee, utilizado para monitorizar a posição de todas as embarcações presentes na área afeta, permitindo a rápida intervenção da Marinha Portuguesa quando e onde necessário. No entanto, o sistema necessita de transmissões periódicas constantes originadas nas embarcações para operar corretamente – casos as transmissões sejam interrompidas, deliberada ou acidentalmente, o sistema deixa de conseguir localizar embarcações, dificultando a intervenção da Marinha. A fim de colmatar esta falha, é proposto adicionar ao sistema Oversee a capacidade de prever as posições futuras de uma embarcação com base no seu trajeto até à cessação das transmissões. Tendo em conta os grandes volumes de dados gerados pelo sistema (históricos de posições), a área de Inteligência Artificial apresenta uma possível solução para este problema. Atendendo às necessidades de resposta rápida do problema abordado, o algoritmo de Geometric Semantic Genetic Programming baseado em referências de Vanneschi et al. apresenta-se como uma possível solução, tendo já produzido bons resultados em problemas semelhantes. O presente trabalho de tese pretende integrar o algoritmo de Geometric Semantic Genetic Programming desenvolvido com o sistema Oversee, a fim de lhe conceder capacidades preditivas. Adicionalmente, será realizado um processo de análise de desempenho a fim de determinar qual a ideal parametrização do algoritmo. Pretende-se com esta tese fornecer à Marinha Portuguesa uma ferramenta capaz de auxiliar o controlo da Zona Económica Exclusiva Portuguesa, permitindo a correta intervenção da Marinha em casos onde o atual sistema não conseguiria determinar a correta posição da embarcação em questão

    Sila Eukaryotic : ferramenta para anotação automática de genes eucariotos

    Get PDF
    Orientador : Prof. Dr. Roberto Tadeu RaittzCoorientador : Prof. Dr. Vinicius WeissDissertação (mestrado) - Universidade Federal do Paraná, Setor de Educação Profissional e Tecnológica, Programa de Pós-Graduação em Bioinformática. Defesa: Curitiba, 30/09/2016Inclui referências : f. 58-62Resumo: A marcação e anotação de genomas são processos essenciais e fundamentais presentes na Bioinformática, necessários para a análise de sequências de DNA. Geralmente essas atividades exigem muito tempo de processamento e alto custo computacional, encarecendo o processo nos muitos projetos distintos ao qual estão presentes. Tais atividades consistem basicamente em comparar sequências de DNA com grandes bancos de dados, este contendo entre milhares e milhões de registros. Considerando a necessidade de melhoramento dessas atividades fundamentais nas pesquisas que envolvem a Biologia Molecular, consequentemente a Bioinformática, este trabalho apresenta um programa de computador, chamado Sila Eukariotic, implementado para a anotação automática de sequências de DNA provenientes de organismos eucarióticos, utilizando busca e comparação de similaridades entre sequências de proteínas. O Sila Eukariotic utiliza ferramenta para predição e marcação de genes (GeneMark-ES) em conjunto com uma ferramenta de buscas de sequências de proteínas em banco de dados (RAFTS3), sendo a predição opcional ao usuário, cabendo também a opção pelo banco de dados de comparação a ser utilizado (NR, SwissProt e outros em formato multi-fasta). Os resultados evidenciaram melhoras na anotação de genes eucarióticos com baixíssimo custo e tempo de processamento comparado a outros buscadores disponíveis. O pacote está disponível para download e poderá ser executado em computadores com relativamente poucos recursos de hardware. Palavras-chave: Anotação automática de genomas eucarióticos, Comparação de sequências, Alignment-free.Abstract: The genome annotations are important and essential processes present on Bioinformatics, necessary to analyse DNA's sequences. Usually these activities need a lot of processing time and have high computational costs, making the projects, which are present, remain expensives. These activities consisti, basically, in comparing DNA's sequences against big data banks, that contain between thousands to milions of records. Seeing the need to improve these activities, this work presents a computer's system, called Sila Eukaryotic, implemented to make the automatic annotation for sequences of eukaryotics organisms, using search and comparison of similarity between proteins sequences. Sila Eukaryotics uses a tool for gene prediction (GeneMark-ES) together with a search proteins tool (RAFTS3) at a biological data bank. The prediction is optional, as the data bank to be used (NR, SwissProt e others on fasta file format). The results showed improvements in annotation, quickly and low computational costs. This package is avaliable to download and can be executed in computers with few hardware resources. Key-words: Automated eukaryotic genome annotation, Sequence comparison, Alignmentfree

    Aperfeiçoamento de algoritmo genético para seleção de variáveis de entrada para rede neural para previsão de carga elétrica ativa de curto prazo

    Get PDF
    Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-graduação em Ciência da ComputaçãoEste trabalho faz parte do Projeto PCarga, que tem como objetivo o desenvolvimento de um sistema previsor de carga elétrica ativa de curto prazo. O modelo, proposto por Oliveira (2004), visa a previsão de meia hora a frente em uma janela de uma semana, com a utilização de uma estrutura inteligente e adaptativa que se ajusta às características específicas de cada microrregião de consumo de energia elétrica e necessita de um baixo nível de intervenção humana. O modelo possui um modelador evolutivo que opera através de algoritmos genéticos e é responsável pela otimização do vetor das variáveis de entrada relevantes para a rede neural do sistema previsor. A pesquisa aqui apresentada envolve a otimização deste algoritmo genético na tentativa de reduzir o seu tempo de convergência. Para tanto, foi realizado um trabalho envolvendo duas hipóteses. A primeira hipótese consiste em criar uma função de mutação simultânea em grupos específicos de variáveis, visando fazer com que o algoritmo tenha uma convergência mais rápida quando comparado ao método de mutação individual. Esta hipótese foi confirmada através de uma série de experimentos. A segunda hipótese trabalha com a idéia de redução do tamanho do cromossomo do algoritmo genético, através da eliminação de variáveis de deslocamento redundantes (valores absolutos e derivados). Neste caso, os experimentos realizados comprovaram a hipótese contrária, o que significa que a combinação de valores absolutos e derivados, ao invés da utilização de apenas um tipo destes valores, é fundamental para a boa qualidade das previsões da rede neural

    Expert control applied to electric submersible pumps

    Get PDF
    Orientador: Janito Vaqueiro FerreiraTese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia MecânicaResumo: Na indústria do petróleo, é comum o uso de bombas centrífugas submersas (BCS) para elevar o óleo até a superfície. Normalmente as bombas BCS operam com fluido bifásico ''gás-líquido''. A presença de grandes quantidades de gás dentro da bomba gera instabilidades que deterioram o desempenho da bomba, o que pode causar até mesmo a interrupção da produção. Assim, nesta pesquisa, utilizou-se um controle especialista que tem como núcleo um sistema complexo adaptativo, o qual a partir da experiência pode gerar conhecimento sobre o funcionamento da BCS. Deste modo, o sistema especialista pode ser capaz de controlar o sistema BCS mantendo-o numa condição estável. Baseado em um modelo não-linear de uma BCS, que representa o comportamento da bomba operando com vazão bifásica, foi treinado um sistema especialista usando um algoritmo genético que gera um conjunto de regras (conhecimento adquirido) que com o tempo controlará e manterá o sistema BCS em condições operacionais seguras. No início do treinamento, o sistema de controle criado por algoritmos genéticos gerou comportamentos erráticos. No entanto, ao longo do tempo, o sistema especialista começou a entender o desempenho do sistema BCS, levando-o para condições estáveis. Além disso, se colocarmos o sistema BCS em condições instáveis, o sistema de controle o coloca de volta em condições seguras. O controle especialista, através do conhecimento adquirido com a experiência, possibilita manter uma BCS trabalhando com fluidos bifásicos em condições estáveis, o que permite evitar danos e paradas repentinas do equipamento durante a produção de petróleoAbstract: In the oil industry, it is common to use electric submersible pumps (ESP) to lift oil to the surface. It is usual for ESP to operate with biphasic fluid flow ''gas-liquid''. The presence of large amounts of gas within the pump generates instabilities and a deterioration in the performance of the pump, which can even cause production to be interrupted. Thus, in this research we aimed to use a control system, which has as its core an adaptive complex system, to generate knowledge about the operation of the ESP. In this way the expert system was able to control the ESP keeping it in the best possible condition. Based on a nonlinear model of an ESP, which represents the behavior of the pump operating with two-phase flow, has trained an expert system using a genetic algorithm that generate a set of rules (acquired knowledge) that over time would control and maintain the ESP in safe operating conditions. At the beginning of the training, the expert system created by genetic algorithms generated erratic behaviors. However, over the time, the expert system began to understand the performance of the ESP system and set it to stable conditions. Furthermore, if the ESP system starts to operate in unstable conditions, the control system sets it back within safe conditions. The expert control, through acquired knowledge with experience, may keep an ESP that is working with biphasic fluids in stable condition, which avoids equipment damage sudden stops during the oil production.DoutoradoMecatrônicaDoutor em Engenharia Mecânic
    corecore