Ayuda
Ir al contenido

Dialnet


Supporting the Statistical Analysis of Variability Models by Processing Binary Decision Diagrams

  • Autores: Sergio Bra Gutiérrez
  • Directores de la Tesis: Rubén Heradio Gil (dir. tes.), David Jose Fernandez Amoros (dir. tes.)
  • Lectura: En la UNED. Universidad Nacional de Educación a Distancia ( España ) en 2020
  • Idioma: inglés
  • Tribunal Calificador de la Tesis: José Antonio Cerrada Somolinos (presid.), Francisco Javier Cabrerizo (secret.), Manuel Jesús Cobo (voc.)
  • Programa de doctorado: Programa de Doctorado en Ingeniería de Sistemas y de Control por la Universidad Nacional de Educación a Distancia
  • Materias:
  • Enlaces
  • Resumen
    • español

      Cuando uno de los principales objetivos de la Ingeniera de Software es el ahorro en costes y tiempo, las lneas de productos de software juegan un papel fundamental. En este campo, la clave reside en la identi cacion de componentes reutilizables o caractersticas que puedan ser aplicados en futuros proyectos.

      La necesidad de proveer soluciones que se adapten a problemas espec cos, satisfaciendo una amplia variedad de requerimientos no funcionales, como la e ciencia en tiempo de ejecuci on, consumo de memoria del dispositivo en el que se ejecuta determinada aplicacion, requisitos a nivel de seguridad, etc. ha supuesto una ardua labor de investigacion. La personalizacion se logra a traves de un proceso de con guracion donde se seleccionan las caractersticas deseadas. El espacio esta restringido para evitar incompatibilidades entre caractersticas, garantizando que se satisfagan las dependencias de nidas entre ellas.

      Hay muchas preguntas interesantes acerca de este espacio restringido: >Estan todas las con guraciones libres de error? >Hay codigo muerto que no pueda ser ejecutado por las restricciones entre las caractersticas? >Cual es rango de reutilizacion de componentes? >Cual es el tama~no tpico de un producto nal en terminos de sus componentes? Etc.

      El tama~no del espacio de con guracion potencialmente puede ser 2n para n caracter sticas. As, procesar el conjunto completo de soluciones es imposible excepto para los casos mas triviales. Despues de eliminar las con guraciones no validas que no satisfacen las restricciones entre caractersticas, el espacio resultante se reduce sustancialmente. Sin embargo, normalmente sigue siendo demasiado grande como para poder trabajar con el.

      Una estrategia para abordar estas di cultades es seleccionar una muestra representativa del espacio y, una vez que los calculos se han realizado, extrapolar las conclusiones al conjunto completo. En este punto, el problema reside en la obtencion de una muestra aleatoria able para evitar interpretaciones erroneas.

      Esta tesis presenta un conjunto de algoritmos que permiten (i) trabajar con la totalidad de la poblacion de con guraciones validas usando una estructura Booleana altamente optimizada conocida como Diagrama de Decision Binario, y (ii) generar muestras aleatorias a partir del espacio de con guracion. Ademas, se aporta una completa infraestructura en dos lenguajes de programacion (C++ y R) con la que incorporar nuevos algoritmos sobre Diagramas de Decision Binarios sin apenas esfuerzo.

      Finalmente, esta tesis muestra la validacion emprica de nuestros algoritmos y marco de trabajo a traves de una prueba de rendimiento compuesta de modelos de variabilidad reales, cuyo numero de caractersticas va desde 45 a 17 365.

      Palabras clave: Lneas de productos de software, Modelos de caractersticas, Diagramas de decision binarios, Funciones Booleanas.

    • English

      Abstract When one of the main aims of the Software Engineering is saving costs and time, the software product lines play an essential role. In this eld, the key lies in identifying reusable components or features that can be applied in future projects.

      Much research is being done to provide customizable solutions that match speci c problems and thus satisfy a variety of non-functional requirements, such as runtime eciency, computer memory consumption, security level, etc. Customization is often accomplished through a con guration process where the desired features are selected. The space of possible con gurations is usually constrained to avoid features incompatibilities, and guaranteeing that feature inter-dependencies are satis ed. There are many questions of interest inside this restricted space: Are all con gurations free of errors? Is there any dead code that cannot be activated because of the inter-feature constraints? What is the component reusability range? What is the typical size of a nal product in terms of components? Etc.

      The con guration space may potentially be 2n for n features. Hence, processing the complete set of solutions is impossible except for the most trivial cases. After removing the invalid con gurations that do not satisfy the inter-feature constraints, the solution space is reduced substantially. Nevertheless, it is usually still large enough to be suitable to work with it.

      One strategy to address these diculties is selecting a representative sample of the space and, once the computation is done, extrapolating the conclusions to the whole problem.

      At this point, the problem turns into the way of obtaining a reliable random sample to avoid wrong interpretations.

      This thesis presents a set of algorithms that support both (i) working with the whole population of valid con gurations by using a highly-optimized Boolean structure known as Binary Decision Diagrams, and (ii) generating random samples from the con guration space. Moreover, a whole infrastructure in two programming languages (C++ and R) is provided to incorporate new algorithms on Binary Decision Diagrams e ortlessly.

      Finally, this thesis reports the empirical validation of our algorithms and framework on a benchmark composed of real variability models, whose number of features ranges from 45 to 17 365.

      Keywords: Software product lines, Feature models, Binary decision diagrams, Boolean functions.


Fundación Dialnet

Dialnet Plus

  • Más información sobre Dialnet Plus

Opciones de compartir

Opciones de entorno