75 research outputs found

    Automated Improvement of Software Design by Search-Based Refactoring

    Get PDF
    Le coût de maintenance du logiciel est estimé à plus de 70% du coût total du système, en raison de nombreux facteurs, y compris les besoins des nouveaux utilisateurs, l’adoption de nouvelles technologies et la qualité des systèmes logiciels. De ces facteurs, la qualité est celle que nous pouvons contrôler et continuellement améliorer pour empêcher la dégradation de la performance et la réduction de l’efficacité (par exemple, la dégradation de la conception du logiciel). De plus, pour rester compétitive, l’industrie du logiciel a raccourci ses cycles de lancement afin de fournir de nouveaux produits et fonctionnalités plus rapidement, ce qui entraîne une pression accrue sur les équipes de développeurs et une accélération de l’évolution de la conception du système. Une façon d’empêcher la dégradation du logiciel est l’identification et la correction des anti-patrons qui sont des indicateurs de mauvaise qualité de conception. Pour améliorer la qualité de la conception et supprimer les anti-patrons, les développeurs effectuent de petites transformations préservant le comportement (c.-à-d., refactoring). Le refactoring manuel est coûteux, car il nécessite (1) d’identifier les entités de code qui doivent être refactorisées ; (2) générer des opérations de refactoring pour les classes identifiées à l’étape précédente ; (3) trouver le bon ordre d’application des refactorings générés, pour maximiser le bénéfice pour la qualité du code et minimiser les conflits. Ainsi, les chercheurs et les praticiens ont formulé le refactoring comme un problème d’optimisation et utilisent des techniques basées sur la recherche pour proposer des approches (semi) automatisées pour le résoudre. Dans cette thèse, je propose plusieurs méthodes pour résoudre les principaux problèmes des outils existants, afin d’aider les développeurs dans leurs activités de maintenance et d’assurance qualité. Ma thèse est qu’il est possible d’améliorer le refactoring automatisé en considérant de nouvelles dimensions : (1) le contexte de tâche du développeur pour prioriser le refactoring des classes pertinentes ; (2) l’effort du test pour réduire le coût des tests après le refactoring ; (3) l’identification de conflit entre opérations de refactoring afin de réduire le coût de refactoring ; et (4) l’efficacité énergétique pour améliorer la consommation d’énergie des applications mobiles après refactoring.----------ABSTRACT: Software maintenance cost is estimated to be more than 70% of the total cost of system, because of many factors, including new user’s requirements, the adoption of new technologies and the quality of software systems. From these factors, quality is the one that we can control and continually improved to prevent degradation of performance and reduction of effectiveness (a.k.a. design decay). Moreover, to stay competitive, the software industry has shortened its release cycles to deliver new products and features faster, which results in more pressure on developer teams and the acceleration of system’s design evolution. One way to prevent design decay is the identification and correction of anti-patterns which are indicators of poor design quality. To improve design quality and remove anti-patterns, developers perform small behavior-preserving transformations (a.k.a. refactoring). Manual refactoring is expensive, as it requires to (1) identify the code entities that need to be refactored; (2) generate refactoring operations for classes identified in the previous step; (3) find the correct order of application of the refactorings generated, to maximize the quality effect and to minimize conflicts. Hence, researchers and practitioners have formulated refactoring as an optimization problem and use search-based techniques to propose (semi)automated approaches to solve it. In this dissertation, we propose several approaches to tackle some of the major issues in existing refactoring tools, to assist developers in their maintenance and quality assurance activities

    Deep Neuroevolution: Smart City Applications

    Get PDF
    Particularmente, la contribución de esta tesis se centra en cuatro aspectos: Primero, proponemos la técnica Mean Absolute Error Random Sampling (MRS) para estimar el rendimiento de una RNN, la cual se basa en la distribución del error observado en un muestreo aleatorio. Nuestros resultados muestran que MRS es una estimación fiable y de bajo coste computacional para predecir el rendimiento de una RNN. Segundo, diseñamos un algoritmo evolutivo (RESN) que explota MRS para optimizar la arquitectura de una RNN. RESN muestra resultados competitivos a la vez que reduce significativamente el tiempo. Tercero, en el contexto de la aplicación, proponemos soluciones para problemas de movilidad, electricidad y gestión de residuos inteligente, y hemos revisado el estado del arte de la ciudad inteligente y su relación con la informática. Cuarto, hemos desarrollado la biblioteca de software Deep Learning OPTimization (DLOPT), la cual está disponible bajo la licencia GNU GPL v3. Ésta contiene la mayor parte del trabajo realizado en esta tesis.El interés por desarrollar redes neuronales artificiales ha resurgido de la mano del Aprendizaje Profundo. En términos simples, el aprendizaje profundo consiste en diseñar y entrenar una red neuronal de gran complejidad y tamaño con una inmensa cantidad de datos. Esta creciente complejidad propone nuevos desafíos, siendo de especial relevancia la optimización del diseño dado un problema. Tradicionalmente, este problema ha sido resuelto en una combinación de conocimiento experto (humano) con prueba y error. Sin embargo, conforme la complejidad aumenta, este acercamiento se vuelve ineficiente (e impracticable). Esta tesis doctoral aborda el diseño de redes neuronales recurrentes (RNN), un tipo de red neuronal profunda, desde la neuroevolución. Concretamente, se combinan técnicas de aprendizaje automático con metaheurísticas avanzadas, con el fin de proveer una solución eficaz y eficiente. Por otra parte, se aplican las técnicas desarrolladas a problemas de la ciudad inteligente

    Applied Metaheuristic Computing

    Get PDF
    For decades, Applied Metaheuristic Computing (AMC) has been a prevailing optimization technique for tackling perplexing engineering and business problems, such as scheduling, routing, ordering, bin packing, assignment, facility layout planning, among others. This is partly because the classic exact methods are constrained with prior assumptions, and partly due to the heuristics being problem-dependent and lacking generalization. AMC, on the contrary, guides the course of low-level heuristics to search beyond the local optimality, which impairs the capability of traditional computation methods. This topic series has collected quality papers proposing cutting-edge methodology and innovative applications which drive the advances of AMC

    Traveling Salesman Problem

    Get PDF
    This book is a collection of current research in the application of evolutionary algorithms and other optimal algorithms to solving the TSP problem. It brings together researchers with applications in Artificial Immune Systems, Genetic Algorithms, Neural Networks and Differential Evolution Algorithm. Hybrid systems, like Fuzzy Maps, Chaotic Maps and Parallelized TSP are also presented. Most importantly, this book presents both theoretical as well as practical applications of TSP, which will be a vital tool for researchers and graduate entry students in the field of applied Mathematics, Computing Science and Engineering

    Metaheuristic Algorithms for Spatial Multi-Objective Decision Making

    Get PDF
    Spatial decision making is an everyday activity, common to individuals and organizations. However, recently there is an increasing interest in the importance of spatial decision-making systems, as more decision-makers with concerns about sustainability, social, economic, environmental, land use planning, and transportation issues discover the benefits of geographical information. Many spatial decision problems are regarded as optimization problems, which involve a large set of feasible alternatives, multiple conflicting objectives that are difficult and complex to solve. Hence, Multi-Objective Optimization methods (MOO)—metaheuristic algorithms integrated with Geographical Information Systems (GIS) are appealing to be powerful tools in these regards, yet their implementation in spatial context is still challenging. In this thesis, various metaheuristic algorithms are adopted and improved to solve complex spatial problems. Disaster management and urban planning are used as case studies of this thesis.These case studies are explored in the four papers that are part of this thesis. In paper I, four metaheuristic algorithms have been implemented on the same spatial multi-objective problem—evacuation planning, to investigate their performance and potential. The findings show that all tested algorithms were effective in solving the problem, although in general, some had higher performance, while others showed the potential of being flexible to be modified to fit better to the problem. In the same context, paper II identified the effectiveness of the Multi-objective Artificial Bee Colony (MOABC) algorithm when improved to solve the evacuation problem. In paper III, we proposed a multi-objective optimization approach for urban evacuation planning that considered three spatial objectives which were optimized using an improved Multi-Objective Cuckoo Search algorithm (MOCS). Both improved algorithms (MOABC and MOCS) proved to be efficient in solving evacuation planning when compared to their standard version and other algorithms. Moreover, Paper IV proposed an urban land-use allocation model that involved three spatial objectives and proposed an improved Non-dominated Sorting Biogeography-based Optimization algorithm (NSBBO) to solve the problem efficiently and effectively.Overall, the work in this thesis demonstrates that different metaheuristic algorithms have the potential to change the way spatial decision problems are structured and can improve the transparency and facilitate decision-makers to map solutions and interactively modify decision preferences through trade-offs between multiple objectives. Moreover, the obtained results can be used in a systematic way to develop policy recommendations. From the perspective of GIS - Multi-Criteria Decision Making (MCDM) research, the thesis contributes to spatial optimization modelling and extended knowledge on the application of metaheuristic algorithms. The insights from this thesis could also benefit the development and practical implementation of other Artificial Intelligence (AI) techniques to enhance the capabilities of GIS for tackling complex spatial multi-objective decision problems in the future

    A comparative analysis of algorithms for satellite operations scheduling

    Get PDF
    Scheduling is employed in everyday life, ranging from meetings to manufacturing and operations among other activities. One instance of scheduling in a complex real-life setting is space mission operations scheduling, i.e. instructing a satellite to perform fitting tasks during predefined time periods with a varied frequency to achieve its mission goals. Mission operations scheduling is pivotal to the success of any space mission, choreographing every task carefully, accounting for technological and environmental limitations and constraints along with mission goals.;It remains standard practice to this day, to generate operations schedules manually ,i.e. to collect requirements from individual stakeholders, collate them into a timeline, compare against feasibility and available satellite resources, and find potential conflicts. Conflict resolution is done by hand, checked by a simulator and uplinked to the satellite weekly. This process is time consuming, bears risks and can be considered sub-optimal.;A pertinent question arises: can we automate the process of satellite mission operations scheduling? And if we can, what method should be used to generate the schedules? In an attempt to address this question, a comparison of algorithms was deemed suitable in order to explore their suitability for this particular application.;The problem of mission operations scheduling was initially studied through literature and numerous interviews with experts. A framework was developed to approximate a generic Low Earth Orbit satellite, its environment and its mission requirements. Optimisation algorithms were chosen from different categories such as single-point stochastic without memory (Simulated Annealing, Random Search), multi-point stochastic with memory (Genetic Algorithm, Ant Colony System, Differential Evolution) and were run both with and without Local Search.;The aforementioned algorithmic set was initially tuned using a single 89-minute Low Earth Orbit of a scientific mission to Mars. It was then applied to scheduling operations during one high altitude Low Earth Orbit (2.4hrs) of an experimental mission.;It was then applied to a realistic test-case inspired by the European Space Agency PROBA-2 mission, comprising a 1 day schedule and subsequently a 7 day schedule - equal to a Short Term Plan as defined by the European Space Agency.;The schedule fitness - corresponding to the Hamming distance between mission requirements and generated schedule - are presented along with the execution time of each run. Algorithmic performance is discussed and put at the disposal of mission operations experts for consideration.Scheduling is employed in everyday life, ranging from meetings to manufacturing and operations among other activities. One instance of scheduling in a complex real-life setting is space mission operations scheduling, i.e. instructing a satellite to perform fitting tasks during predefined time periods with a varied frequency to achieve its mission goals. Mission operations scheduling is pivotal to the success of any space mission, choreographing every task carefully, accounting for technological and environmental limitations and constraints along with mission goals.;It remains standard practice to this day, to generate operations schedules manually ,i.e. to collect requirements from individual stakeholders, collate them into a timeline, compare against feasibility and available satellite resources, and find potential conflicts. Conflict resolution is done by hand, checked by a simulator and uplinked to the satellite weekly. This process is time consuming, bears risks and can be considered sub-optimal.;A pertinent question arises: can we automate the process of satellite mission operations scheduling? And if we can, what method should be used to generate the schedules? In an attempt to address this question, a comparison of algorithms was deemed suitable in order to explore their suitability for this particular application.;The problem of mission operations scheduling was initially studied through literature and numerous interviews with experts. A framework was developed to approximate a generic Low Earth Orbit satellite, its environment and its mission requirements. Optimisation algorithms were chosen from different categories such as single-point stochastic without memory (Simulated Annealing, Random Search), multi-point stochastic with memory (Genetic Algorithm, Ant Colony System, Differential Evolution) and were run both with and without Local Search.;The aforementioned algorithmic set was initially tuned using a single 89-minute Low Earth Orbit of a scientific mission to Mars. It was then applied to scheduling operations during one high altitude Low Earth Orbit (2.4hrs) of an experimental mission.;It was then applied to a realistic test-case inspired by the European Space Agency PROBA-2 mission, comprising a 1 day schedule and subsequently a 7 day schedule - equal to a Short Term Plan as defined by the European Space Agency.;The schedule fitness - corresponding to the Hamming distance between mission requirements and generated schedule - are presented along with the execution time of each run. Algorithmic performance is discussed and put at the disposal of mission operations experts for consideration

    Computational Optimizations for Machine Learning

    Get PDF
    The present book contains the 10 articles finally accepted for publication in the Special Issue “Computational Optimizations for Machine Learning” of the MDPI journal Mathematics, which cover a wide range of topics connected to the theory and applications of machine learning, neural networks and artificial intelligence. These topics include, among others, various types of machine learning classes, such as supervised, unsupervised and reinforcement learning, deep neural networks, convolutional neural networks, GANs, decision trees, linear regression, SVM, K-means clustering, Q-learning, temporal difference, deep adversarial networks and more. It is hoped that the book will be interesting and useful to those developing mathematical algorithms and applications in the domain of artificial intelligence and machine learning as well as for those having the appropriate mathematical background and willing to become familiar with recent advances of machine learning computational optimization mathematics, which has nowadays permeated into almost all sectors of human life and activity

    Computer Science and Technology Series : XV Argentine Congress of Computer Science. Selected papers

    Get PDF
    CACIC'09 was the fifteenth Congress in the CACIC series. It was organized by the School of Engineering of the National University of Jujuy. The Congress included 9 Workshops with 130 accepted papers, 1 main Conference, 4 invited tutorials, different meetings related with Computer Science Education (Professors, PhD students, Curricula) and an International School with 5 courses. CACIC 2009 was organized following the traditional Congress format, with 9 Workshops covering a diversity of dimensions of Computer Science Research. Each topic was supervised by a committee of three chairs of different Universities. The call for papers attracted a total of 267 submissions. An average of 2.7 review reports were collected for each paper, for a grand total of 720 review reports that involved about 300 different reviewers. A total of 130 full papers were accepted and 20 of them were selected for this book.Red de Universidades con Carreras en Informática (RedUNCI

    Simulated Annealing

    Get PDF
    The book contains 15 chapters presenting recent contributions of top researchers working with Simulated Annealing (SA). Although it represents a small sample of the research activity on SA, the book will certainly serve as a valuable tool for researchers interested in getting involved in this multidisciplinary field. In fact, one of the salient features is that the book is highly multidisciplinary in terms of application areas since it assembles experts from the fields of Biology, Telecommunications, Geology, Electronics and Medicine
    • …
    corecore