Functional and performance testing of feature model analysis tools Extending the fama ecosystem

Sergio Segura · Dialnet (Universidad de la Rioja) · 2014

La ingenieria de lineas de productos es un paradigma de desarrollo orientado a construir familias de sistemas software que reutilicen caracteristicas comunes en lugar de construir cada producto desde cero. Un aspecto fundamental para la gestion de una linea de productos es utilizar un modelo que permita representar todos los posibles productos que pueden derivarse de ella. Uno de los modelos mas populares usados para tal fin son los denominados modelos de caracteristicas. La informacion extraida de estos modelos es utilizada para tomar decisiones importantes a lo largo del desarrollo y gestion de una linea de productos software. La extraccion automatica de informacion demodelos de caracteristicas es un tema de investigacion activo que ha atraido la atencion de numerosos investigadores en los ultimos veinte anos. Durante este tiempo, se han presentado un gran numero de operaciones, tecnicas y herramientas y se ha consolidado toda una comunidad alrededor de lo que se ha denominado analisis automatico de modelos de caracteristicas. Actualmente, los avances en este area estan llevando a una mayor preocupacion por la calidad de las herramientas de analisis. Los prototipos de investigacion ya no son suficiente y ahora se buscan solidas herramientas de analisis en terminos de ausencia de errores y rendimiento. Sin embargo, las pruebas software empleadas en este campo son fundamentalmente aleatorias y guiadas por la intuicion de los propios desarrolladores mas que por tecnicas maduras para el diseno de datos de prueba. Esto hace que las conclusiones de las pruebas sean dificilmente rigurosas y verificables a la vez que limitan el alcance y el valor de las contribuciones cientificas en el analisis de modelos de caracteristicas. De igual forma, la arbitrariedad u omision de las pruebas en este campo reducen notablemente la confianza de los usuarios sobre el correcto funcionamiento de las herramientas de analisis. El objetivo de esta tesis es combinar el conocimiento de las comunidades de pruebas software y modelado de caracteristicas en una serie de contribuciones que permitan llevar el analisis automatico de modelos de caracteristicas a un nuevo nivel de madurez. Con este fin, en esta memoria presentamos una serie de tecnicas, algoritmos y herramientas para la realizacion de pruebas funcionales y de rendimiento en herramientas de analisis de modelos de caracteristicas. Estas contribuciones son el resultado de la aplicacion de varias tecnicas clasicas e innovadoras de pruebas software en el contexto de analisis de modelos de caracteristicas. Para facilitar las pruebas funcionales, presentamos un conjunto de casos de prueba asi como un generador automatico de datos de prueba para la deteccion de errores en las herramientas de analisis. En lo que se refiere a pruebas de rendimiento, presentamos un algoritmo evolutivo para la generacion de modelos de caracteristicas dificiles de procesar en terminos de tiempo y memoria requeridos para su analisis. 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 analisis de modelos de caracteristicas 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 analisis de modelos de caracteristicas desarrolladas por nuestro grupo de investigacion.

Read the paper · More papers on PaperTik