Modelling and validation of cloud systems using model driven engineering, metamorphic and mutation testing

  1. Cerro Cañizares, Pablo
Dirigida por:
  1. Juan de Lara Jaramillo Director/a
  2. Alberto Núñez Covarrubias Director

Universidad de defensa: Universidad Complutense de Madrid

Fecha de defensa: 13 de febrero de 2020

Tribunal:
  1. Manuel Núñez García Presidente
  2. Jesús Correas Fernández Secretario
  3. Maria Emilia Cambronero Piqueras Vocal
  4. Valeria de Castro Martínez Vocal
  5. Rosa Filgueira Vicente Vocal
Departamento:
  1. Sistemas Informáticos y Computación

Tipo: Tesis

Resumen

Los sistemas cloud están formados por infraestructuras complejas, donde existe una gran diversidad de subsistemas y componentes, tales como el almacenamiento, la virtualización y las redes. La heterogeneidad de estos sistemas, su amplitud, el elevado número de usuarios que solicitan servicios de forma simultánea y la virtualización utilizada para ofrecer la ilusión de utilizar máquinas dedicadas, entre otros factores, dificultan su validación. Desafortunadamente, utilizar métodos de Testing convencionales para comprobar la correción de los sistemas cloud no es factible. El objetivo principal de esta tesis es diseñar metodologías y técnicas para modelar y testear sistemas cloud. Para ello, esta tesis combina dos líneas ortogonales: Ingeniería Dirigida por Modelos o MDE (por las siglas de Model Driven Engineering) y Testing apoyadas sobre una base formal, para desarrollar metodologías y técnicas que permitan optimizar sistemas cloud de forma viable y eficiente. Por un lado, utilizamos técnicas basadas en Testing formal para comprobar la corrección de los sistemas cloud. Estas técnicas nos permiten evaluar, a partir de una definición precisa de su comportamiento, si los sistemas actúan como se espera. Específicamente, proporcionamos una metodología basada en Testing Metamórfico o MeT (por las siglas de Metamorphic Testing), que utiliza propiedades relevantes para comprobar la corrección del sistema bajo estudio sin necesidad de tener un conocimiento implícito del mismo. Además, utilizamos MeT, en combinación con Testing de Mutación o MuT (por las siglas de Mutation Testing) para analizar la eficacia de estas propiedades y detectar comportamientos anómalos del sistema. Por otro lado, se aplican técnicas basadas en MDE para representar con precisión, a través de un metamodelo, la infraestructura de los sistemas cloud junto con sus propiedades subyacentes. Con el fin de detectar problemas de diseño y proporcionar soluciones a errores de configuración de los sistemas cloud, se han incluido un conjunto de reglas de experto y un lenguaje gráfico para facilitar el diseño de los mismos. Es importante remarcar que en esta tesis se profundizará en el estudio de los aspectos no funcionales del sistema, tales como el consumo energético. Así, el proceso de optimización tendrá como primer objetivo definir qué es un comportamiento incorrecto del sistema, ya que es posible que, aún obteniendo los resultados correctos de los tests mediante la comparación de sus salidas, las propiedades analizadas del sistema bajo estudio no reflejen el comportamiento esperado. De esta forma, una vez localizada la anomalía, propondremos un conjunto de alternativas válidas que la subsanen, de forma que se optimice en la medida de la posible la propiedad bajo estudio en el proceso de testeo. Para localizar estas alternativas se utilizarán técnicas inspiradas en algoritmos evolutivos o EAs (por las siglas de Evolutionary Algorithms), los cuales se centran en una búsqueda global adaptativa sobre el espacio de posibles soluciones, proporcionando soluciones casi óptimas a problemas de optimización complejos, donde el tiempo de ejecución representa una limitación significativa.