Functional and performance testing of feature model analyisis tools extending the fama ecosystem

  1. Segura Rueda, Sergio
Dirigida por:
  1. David Benavides Director/a
  2. Antonio Ruiz Cortés Director/a

Universidad de defensa: Universidad de Sevilla

Fecha de defensa: 21 de febrero de 2011

Tribunal:
  1. José Miguel Toro Bonilla Presidente/a
  2. Andreas Metzger Secretario/a
  3. José Cristobal Riquelme Santos Vocal
  4. Pablo Javier Tuya González Vocal
  5. José Javier Dolado Cosín Vocal

Tipo: Tesis

Teseo: 313092 DIALNET lock_openIdus editor

Resumen

La ingeniería de líneas de productos es un paradigma de desarrollo orientado a construir familias de sistemas software que reutilicen características comunes en lugar de construir cada producto desde cero. Un aspecto fundamental para la gestión de una línea de productos es utilizar un modelo que permita representar todos los posibles productos que pueden derivarse de ella. Uno de los modelos más populares usados para tal fin son los denominados modelos de características. La información extraída de estos modelos es utilizada para tomar decisiones importantes a lo largo del desarrollo y gestión de una línea de productos software. La extracción automática de información demodelos de características es un tema de investigación activo que ha atraído la atención de numerosos investigadores en los últimos veinte años. Durante este tiempo, se han presentado un gran número de operaciones, técnicas y herramientas y se ha consolidado toda una comunidad alrededor de lo que se ha denominado análisis automático de modelos de características. Actualmente, los avances en éste área están llevando a una mayor preocupación por la calidad de las herramientas de análisis. Los prototipos de investigación ya no son suficiente y ahora se buscan solidas herramientas de análisis en términos de ausencia de errores y rendimiento. Sin embargo, las pruebas software empleadas en este campo son fundamentalmente aleatorias y guiadas por la intuición de los propios desarrolladores más que por técnicas maduras para el diseño de datos de prueba. Esto hace que las conclusiones de las pruebas sean difícilmente rigurosas y verificables a la vez que limitan el alcance y el valor de las contribuciones científicas en el análisis de modelos de características. De igual forma, la arbitrariedad u omisión de las pruebas en este campo reducen notablemente la confianza de los usuarios sobre el correcto funcionamiento de las herramientas de análisis. El objetivo de esta tesis es combinar el conocimiento de las comunidades de pruebas software y modelado de características en una serie de contribuciones que permitan llevar el análisis automático de modelos de características a un nuevo nivel de madurez. Con este fin, en esta memoria presentamos una serie de técnicas, algoritmos y herramientas para la realización de pruebas funcionales y de rendimiento en herramientas de análisis de modelos de características. Estas contribuciones son el resultado de la aplicación de varias técnicas clásicas e innovadoras de pruebas software en el contexto de análisis de modelos de características. Para facilitar las pruebas funcionales, presentamos un conjunto de casos de prueba así como un generador automático de datos de prueba para la detección de errores en las herramientas de análisis. En lo que se refiere a pruebas de rendimiento, presentamos un algoritmo evolutivo para la generación de modelos de características difíciles de procesar en términos de tiempo y memoria requeridos para su análisis. Etas herramientas han sido evaluadas experimentalmente de forma rigurosa demostrando la viabilidad de la propuesta. Entre otros resultados, nuestras herramientas nos han permitido detectar dos errores en FaMa y otros dos en SPLOT, dos herramientas para el análisis de modelos de características ampliamente usadas por la comunidad. Nuestras contribuciones han sido integradas en un framework, BeTTy, desarrollado como parte del ecosistema FaMa, un conjunto de herramientas para el análisis de modelos de características desarrolladas por nuestro grupo de investigación.