Testing de sistemas restaurables empleando metaheurísticas
Loading...
Download
Official URL
Full text at PDC
Publication date
2018
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citation
Abstract
Este trabajo consiste en la elaboración de una aplicación que permita realizar pruebas sobre máquinas de estados utilizando técnicas de inteligencia artificial, concretamente heurísticas y metaheurísticas, optimizando los costes necesarios para llevarlas a cabo.
En el entorno de la computación, cualquier programa de software, lógica electrónica o aplicación informática puede representarse como una máquina de estados que codifique todas las posibles combinaciones de uso que pueda realizar y todos los pasos que atraviesa en su proceso.
En sistemas pequeños resulta sencillo comprobar manualmente el correcto funcionamiento de estos, sin embargo, cuando manejamos sistemas de cierta envergadura la complejidad aumenta exponencialmente.
En estos casos es imprescindible el uso de mecanismos que automaticen las pruebas, pero en ocasiones resultan ineficientes debido a las múltiples posibilidades que se presentan.
Por ello, es necesario desarrollar procedimientos que sean capaces de abordar las pruebas de dichos sistemas en unas condiciones de tiempo aceptables.
El objetivo de este trabajo es precisamente tratar de resolver esta problemática utilizando varios elementos de computación que permitan reducir al máximo los costes y elaborar un estudio que muestre qué métodos se han mostrado más efectivos.
Estos métodos consisten en tres metaheurísticas ya definidas, que son Ant Colony Optimization, Genetic Algorithm y River Formation Dynamics, sobre las que se realizará un desarrollo para adaptarlas al problema que se trata de resolver. Tras haber implementado estas metaheurísticas, se realizará una investigación exhaustiva para examinar su comportamiento y descubrir la mejor solución entre las propuestas.
This work consists in the development of an application that allows to perform tests on state machines using artificial intelligence techniques, specifically heuristics and metaheuristics, optimizing the costs necessary to carry them out. In the computing environment, any software program, electronic logic or computer application can be represented as a state machine that encodes all the possible combinations of use that can be made, and all the steps that it goes through in its process. In small systems it is easy to manually check the correct operation of them, however, when we manage systems of a certain size, the complexity increases exponentially. In these cases, it is essential to use mechanisms to automate the tests, but sometimes they are inefficient due to the multiple possibilities that arise. Therefore, it is necessary to develop procedures that are capable of addressing the testing of such systems in acceptable time conditions. The goal of our work is to try solving this problem using several computing elements that allow to reduce the time costs as much as possible and develop a study that shows which methods have been most effective. These methods consist of three metaheuristics already defined, on which a development will be carried out to adapt them to the problem to be solved. After implementing these metaheuristics, a thorough research will be conducted to examine their behavior and discover the best solution among the proposals.
This work consists in the development of an application that allows to perform tests on state machines using artificial intelligence techniques, specifically heuristics and metaheuristics, optimizing the costs necessary to carry them out. In the computing environment, any software program, electronic logic or computer application can be represented as a state machine that encodes all the possible combinations of use that can be made, and all the steps that it goes through in its process. In small systems it is easy to manually check the correct operation of them, however, when we manage systems of a certain size, the complexity increases exponentially. In these cases, it is essential to use mechanisms to automate the tests, but sometimes they are inefficient due to the multiple possibilities that arise. Therefore, it is necessary to develop procedures that are capable of addressing the testing of such systems in acceptable time conditions. The goal of our work is to try solving this problem using several computing elements that allow to reduce the time costs as much as possible and develop a study that shows which methods have been most effective. These methods consist of three metaheuristics already defined, on which a development will be carried out to adapt them to the problem to be solved. After implementing these metaheuristics, a thorough research will be conducted to examine their behavior and discover the best solution among the proposals.
Description
Universidad Complutense, Facultad de Informática. Departamento de Sistemas Informáticos y Computación, curso 2017/2018