Navegación

Búsqueda

Búsqueda avanzada

El autor David Benavides ha publicado 20 artículo(s):

1 - Exploring the Synergies between Join Point Interfaces and Feature-Oriented Programming

Feature-oriented programming FOP, and aspect-oriented programming AOP have been used to develop modular software product lines SPL. Both approaches focus on modularizing classes behavior and crosscutting concerns CC. Therefore, the symbiosis of FOP and AOP would permit reaching pros and cons of both software development approaches. Concretely, FOP permits a modular refinement of classes collaboration for software product lines SPL -an adequate structural representation of heterogeneous CC, but FOP does not well represent homogeneous CC. On the other hand, traditional AOP structurally well modularizes homogeneous CC, but aspects are not adequate to represent collaboration of classes for software evolution. In addition, AOP solutions present implicit dependencies and strong coupling between classes and aspects. Since Join Point Interface JPI solves mentioned AOP issues, this paper present JPI Feature Modules to represent and modularize the structure of FOP and JPI SPL instances, i.e., classes and join point interfaces for a transparent implementation in a FOP and JPI context. This paper, highlights benefits of a FOP and JPI symbiosis for the modular software conception using a case study to exemplify its use.

Autores: Cristian Vidal Silva / David Benavides / José Angel Galindo / Paul Leger / 
Palabras Clave: classic AOP - FOP - JPI - JPI-FM - modular software

2 - Automated Analysis of Diverse Variability Models with Tool Support

Over the past twenty years, there have been many contributions in the area of feature model automated analysis of variability models. We propose that the knowledge obtained during recent years to automatically analyse diverse variability models. In this paper we present FaMa OVM and FaMa DEB, which are prototypical implementations for the automated analysis of two distinct variability models, namely Orthogonal Variability Models and Debian Variablity Models, respectively. In order to minimise efforts and benefit from the feature model know­ how, we use FaMa Framework which allows the development of analysis tools for diverse variability modelling languages. This framework provides a well tested system that guides the tool development. Due to the structure provided by the framework, FaMa OVM and FaMa DEB tools are easy to extend and integrate with other tools. We report on the main points of both tools, such as the analysis operations provided and the logical solvers used for the analysis.

Autores: Fabricia Roos-Frantz / José A. Galindo / David Benavides / Antonio Ruiz Cortés / Jesús García-Galán / 
Palabras Clave: Automated analysis - Intensive variability systems - Variability models

3 - WindRose: A Cloud Based IDE for the Automated Analysis of Feature Models

Feature modeling is the «de facto» standard to describe the common and variant parts of software product lines. Different tools, approaches and operations for the automated analysis of feature models have been proposed in the last 20 years. However, the installation and usage of those tools use to be time consuming. In this paper we present the WindRose IDE, a cloud based IDE that allows the storage, edition and analysis of feature models while being executed in the cloud. WindRose integrates different feature model analysis operations such as Valid or Number of Products. This reasoning capabilities rely in different well stablished tools like FaMa or FaMiliar.

Autores: José A. Galindo / David Benavides / Mauricio Alférez / Mathieu Acher / Benoit Baudry / 
Palabras Clave: Automated analysis - Tool integration - Variability Modeling

4 - Automated Metamorphic Testing on the Analysis of Feature Models

Software Product Line (SPL) engineering is a reuse strategy to develop families of related systems. From common assets, different software products are assembled reducing production costs and time­to­market. Products in SPLs are defined in terms of features. A feature is an increment in product functionality. Feature models are widely used to represent all the valid combinations of features (i.e. products) of an SPL in a single model in terms of features and relations among them. The automated analysis of feature models deals with the computer­aided extraction of information from feature models. Typical operations of analysis allow determining whether a feature model is void (i.e. it represents no products), whether it contains errors (e.g. features that cannot be part of any product) or what is the number of products of the SPL represented by the model. Catalogues with up to 30 analysis operations on feature models and multiple analysis solutions have been reported.

Autores: Sergio Segura / Robert M. Hierons / David Benavides / Antonio Ruiz-Cortés / 
Palabras Clave:

5 - BeTTy: Un Framework de Pruebas para el Análisis Automático de Modelos de Características

El análisis automático de modelos de características es un área de investigación activo que ha llamado la atencíon de numerosos investigadores durante las dos últimas décadas. Durante este tiempo, el número de herramientas y técnicas para el análisis de modelos de características se ha multiplicado y con ellas su complejidad. En este escenario, la falta de mecanismos específicos para validar y evaluar la funcionalidad y el rendimiento de las herramientas de análisis se ha convertido en un gran obstáculo dificultando el desarrollo de herramientas y afectando negativamente a su calidad y fiabilidad. En este artículo, presentamos BeTTy, un framework para la automatizacíon de pruebas en el análisis de modelos de características. Entre otras funcionalidades, BeTTy permite la deteccíon automática de errores en herramientas de análisis de modelos de características. Además, BeTTy permite generar modelos de características tanto aleatorios como computacionalmente duros, útiles para evaluar el rendimiento de las herramientas de análisis. Parte de la funcionalidad del framework es ofrecida a través de una aplicacíon Web que facilita en gran medida su uso.

Autores: Sergio Segura / José A. Galindo / David Benavides / José A. Parejo / 
Palabras Clave:

8 - Cómo gestionan la variabilidad las empresas que no conocen de líneas de producto software: hacia una evaluación real

Las líneas de producto software tienen como prioridad alcanzar la reutilización sistemática dentro de una organización permitiendo la reducción de coste, esfuerzo, tiempo de desarrollo, y numero promedio de defectos por producto. Sin embargo, existen desafíos al ejecutar un proyecto de emph{líneas de producto software (SPLs)} y pocas veces estos han sido reportados, reduciendo la posibilidad de comprobación entre la teoría y la praxis. Esto implica dificultades para el fortalecimiento o elaboración de ajustes o mejoras a los frameworks de SPL. Asimismo, hay nuevos conceptos novedosos como los ecosistemas software software ecosystems», que hacen necesario revisar el concepto de SPL y adaptarlo a los tiempos actuales. En este artículo, presentamos el diseño de un emph{estudio de caso} para la reducir esta brecha, permitiendo conocer el contexto de dos medianas empresas que no saben de líneas de producto software emph{gestionan la variabilidad}. También, nos permitirá identificar oportunidades y debilidades descubiertas en los frameworks de adopción de SPL con el objetivo de mejorarlos. Además de presentar un fragmento metodológico que indique el camino a seguir para que una empresa pueda transicionar hacia el paradigma de SPLs.

Autores: Ana E. Chacón-Luna / José A. Galindo / David Benavides / 
Palabras Clave: estudio de casos - gestión de variabilidad - Líneas de Producto Software

9 - MOTIV: selección de pruebas para algoritmos de detección de movimiento en vídeos usando técnicas de líneas de productos software

Las líneas de producto software se usan para gestionar la producción de sistemas software con un alto grado de variabilidad lo que puede permitir tener un mejor tiempo de respuesta para poder configurar un producto de acuerdo a sus especificaciones concretas en un escenario de uso determinado. La investigación en líneas de producto software se ha centrado en las últimas décadas en proponer procesos, técnicas, herramientas y métodos para gestionar la variabilidad a todos los niveles: desde los requisitos, hasta la generación de código. En este sentido, se han desarrollado distintas técnicas que pueden ser utilizadas en distintos escenarios más allá de la gestión de líneas de producto software. Es el caso del conocido como análisis automático de modelos de características. En este proyecto se usaron técnicas que provienen de este área para afrontar un reto tecnológico en un consorcio con empresas que usaban distintos algoritmos para detectar movimientos en sistemas de vídeo vigilancia. En concreto, se usaron técnicas de modelado y selección de casos de prueba usando modelos de características. La aportación tecnológica permitió una reducción considerable de los costes en la producción de algoritmos de detección de movimientos y la mejora en la detección de fallos en los sistemas. El consorcio estuvo formado por dos empresas francesas e INRIA donde trabajaban varios de los autores del trabajo en el momento de la ejecución del proyecto. Además, se contó con el asesoramiento de la Universidad de Sevilla. keywords{líneas de producto software, modelos de características, selección de pruebas

Autores: José A. Galindo / Mauricio Alférez / Mathieu Acher / Benoit Baudry / David Benavides / 
Palabras Clave: Líneas de Producto Software - modelos de características - selección de pruebas

10 - RESDEC: Un prototipo de herramienta para la selección de configuraciones de despliegue basada en Sistemas de Recomendación

Los sistemas de alta variabilidad son sistemas que representan cientos de configuraciones distintas. En un contexto particular, estas configuraciones pueden ser desplegadas en distintos entornos de despliegue lo cual es una decisión crítica para el correcto funcionamiento de la misma. Por ejemplo, determinar en qué dispositivo móvil se va a ejecutar correctamente nuestra app, es una tarea difícil de resolver. En este artículo presentamos RESDEC, un prototipo de herramienta para asistir al ingeniero de software en la toma de decisiones para el despliegue. Concretamente RESDEC provee algoritmos de recomendación para tres escenarios de despliegue distintos.

Autores: Jorge Rodas / José A. Galindo / David Benavides / 
Palabras Clave: Configuraciones - Sistemas de alta variabilidad - Sistemas de recomendación - Valoraciones

11 - Variabilidad en visualización de datos: retos y posibilidades

Los sistemas de visualización de la información nos permiten visualizar datos usando abstracciones de los mismos, por ejemplo, usando gráficos de barras o de tartas. No obstante, la diversidad de visualizaciones dificulta la correcta elecci´on de los sistemas m´as apropiadospara cada conjunto de datos. La ingeniería de líneas de producto y sistemas de alta variabilidad ha generado múltiples técnicas que permiten la configuración óptima de productos software dados unos requisitos o características. En este trabajo proponemos el uso y adaptación de las técnicas de configuración, derivación y análisis automático existentes en el área de líneas de producto software al contexto de la visualización. Permitiendo de esta forma el guiado sobre las opciones de configuración para visualizar un conjunto de datos.

Autores: José A. Galindo / Elvira G. Ruiz / David Benavides / 
Palabras Clave: analisis automático - guiado - software product lines - Variabilidad

12 - A general approach to Software Product Line testing

Variability is a central concept in Software Product Lines (SPLs). It has been extensively studied how the SPL paradigm can improve both the efficiency of a company and the quality of products. Nevertheless, this brings several challenges when testing an SPL, which are mainly caused by the potentially huge amount of products that can be derived from an SPL. There exist different studies proposing methods for testing SPLs. Also there are secondary studies reviewing and mapping the literature of the existing proposals. Nevertheless, there is a lack of systematic guidelines for practitioners and researchers with the different steps required to perform a testing strategy of an SPL. In this paper, we present a first version of a tutorial that summarizes the existing proposals of the SPL testing area. To the best of our knowledge, there is no similar attempt in existing literature. Our goal is to discuss this tutorial with the community and enrich it to provide a more solid version of it in the future.

Autores: Elvira G. Ruiz / Jon Ayerdi / José A. Galindo / Aitor Arrieta / Goiuria Sagardui / David Benavides / 
Palabras Clave: software product lines - Software reusability - Software Testing

13 - Empirical software product line engineering: A systematic literature review. An IST journal publication

The adoption of Software Product Line Engineering (SPLE) is usually only based on its theoretical benefits instead of empirical evidences. In fact, there is no work that synthesizes the empirical studies on SPLE. This makes it difficult for researchers to base their contributions on previous works validated with an empirical strategy. The objective of this work is to discover and summarize the studies that have used empirical evidences in SPLE limited to those ones with the intervention of humans. This will allow evaluating the quality and to know the scope of these studies over time. Doing so, research opportunities can arise. A systematic literature review was conducted. The scope of the work focuses on those studies in which there is human intervention and were published between 2000 and 2018. We considered peer-reviewed papers from journals and top software engineering conferences. Out of a total of 1880 studies in the initial set, a total of 62 primary studies were selected after applying a series of inclusion and exclusion criteria. We found that, approximately 56+AFwAJQ of the studies used the empirical case study strategy while the rest used experimental strategies. Around 86+AFwAJQ of the case studies were performed in an industrial environment showing the penetration of SPLE in industry. The interest of empirical studies has been growing since 2008. Around 95.16+AFwAJQ of the studies address aspects related to domain engineering while application engineering received less attention. Most of the experiments and case study evaluated showed an acceptable level of quality. The first study found dates from 2005 and since then, the interest in the empirical SPLE has increased.

Autores: Ana E. Chacón-Luna / Antonio Manuel Gutiérrez / José A. Galindo / David Benavides / 
Palabras Clave: Case Study - Empirical strategies - experiment - software product lines - Systematic literature review

14 - Una herramienta para aplicar técnicas de Montecarlo al análisis de modelos de características

La mayoría de los sistemas configurables describen un amplio espacio de soluciones que hacen intratable su exploración exhaustiva. En la literatura encontramos técnicas de análisis como la resolución SAT o la programación de restricciones. Sin embargo, ninguna de ellas ha explorado los métodos basados en la simulación de la toma de decisiones cuando configuramos un sistema. Nosotros proponemos usar el método de Montecarlo el cual simula la búsqueda en espacios de soluciones colosales de manera aleatoria. Este trabajo presenta la implementación de un marco conceptual que aborda varios de esos análisis utilizando métodos de Montecarlo, los cuales, han demostrado tener éxito en otros dominios con espacios de búsqueda colosales como la teoría de juegos. Concretamente presentamos una implementación en Python del marco de trabajo que muestra la viabilidad de nuestra propuesta con la que prevemos que se pueden abordar diferentes problemas y que nuestro marco pueda utilizarse para avanzar el estado del arte.

Autores: José Miguel Horcas Aguilera / Antonio Germán Márquez Trujillo / José A. Galindo / David Benavides / 
Palabras Clave: analisis automático - Líneas de Producto Software - MonteCarlo

15 - Process Mining to Unleash Variability Management: Discovering Configuration Workflows Using Logs

Variability models are used to build configurators. Configurators are programs that guide users through the configuration process to reach a desired configuration that fulfils user requirements. The same variability model can be used to design different configurators employing different techniques. One of the elements that can change in a configurator is the configuration workflow, i.e., the order and sequence in which the different configuration elements are presented to the configuration stakeholders. When developing a configurator, a challenge is to decide the configuration workflow that better suites stakeholders according to previous configurations. For example, when configuring a Linux distribution, the configuration process start by choosing the network or the graphic card, and then other packages with respect to a given sequence. In this paper, we present COLOSSI, an automated technique that given a set of logs of previous configurations and a variability model can automatically assist to determine the configuration workflow that better fits the configuration logs generated by user activities. The technique is based on process discovery, commonly used in the process mining area, with an adaptation to configuration contexts. Our proposal is validated using existing data from an ERP configuration environment showing its feasibility. Furthermore, we open the door to new applications of process mining techniques in different areas of software product line engineering.

Autores: Angel Jesus Varela Vaca / José A. Galindo / Belén Ramos / Maria Teresa Gómez López / David Benavides / 
Palabras Clave: Clustering - configuration workflow - process discovery - Process Mining - Variability

16 - Uniform and Scalable SAT-Sampling for Configurable Systems

Several relevant analyses on configurable software systems remain intractable because they require examining vast and highly-constrained configuration spaces. Those analyses could be addressed through statistical inference, i.e., working with a much more tractable sample that later supports generalizing the results obtained to the entire configuration space. To make this possible, the laws of statistical inference impose an indispensable requirement: each member of the population must be equally likely to be included in the sample, i.e., the sampling process needs to be «uniform». Various SAT-samplers have been developed for generating uniform random samples at a reasonable computational cost. Unfortunately, there is a lack of experimental validation over large configuration models to show whether the samplers indeed produce genuine uniform samples or not. This paper (i) presents a new statistical test to verify to what extent samplers accomplish uniformity and (ii) reports the evaluation of four state-of-the-art samplers: Spur, QuickSampler, Unigen2, and Smarch. According to our experimental results, only Spur satisfies both scalability and uniformity.

Autores: Ruben Heradio / David Fernandez-Amoros / José A. Galindo / David Benavides / 
Palabras Clave: configurable systems - SAT - Software Product Line - uniform sampling - Variability Modeling

18 - Análisis de la gestión de variabilidad en la empresa

Las líneas de productos de software (Software Product Line, SPL) permiten la reutilización sistemática dentro de una organización, lo que permite reducir los costes, los esfuerzos, el tiempo de desarrollo y el número medio de defectos por producto. Sin embargo, no existen evidencias empíricas sobre la adopción de las SPL en las empresas de desarrollo software, para la personalización de sus productos. Para evaluar la necesidad de las tecnologías SPL en el desarrollo software real es necesario analizar las prácticas de variabilidad en las empresas para desarrollar sus productos, señalando las fortalezas y debilidades de sus enfoques.Para ello, presentamos el diseño de un estudio para evaluar cómo las empresas realizan la gestión de la variabilidad. Partimos de la base de que la mayoría de las empresas gestionan la variabilidad, pero no muchas de ellas conocen las líneas de productos de software.

Autores: Ana Eva Chacón-Luna / Antonio Manuel Gutierrez / David Benavides / Lidia Fuentes / 
Palabras Clave: Empirical studies - software product lines - Variability management

19 - Prototipo Para la Generación, Prueba Y Despliegue Automático de Sitios Web Con WordPress Usando Líneas de Producto Software (WebSPL)

Las líneas de producto software (SPL) proponen soluciones, métodos y técnicas para la producción y construcción productos software que comparten características pudiendo mantener ciertas diferencias entre s+AO0. Una parte importante del paradigma de las SPL es definir un modelo que represente todos los productos posibles dentro de un mismo dominio. Para esto, usamos los modelos de características, que representan la información de todos los productos posibles dentro de una SPL respetando restricciones y relaciones entre características. Hasta la actualidad, la comunidad de líneas de producto ha propuesto múltiples técnicas para el análisis automático de modelos, o lenguajes concretos para la representación de los mismos (e.g., Universal Variability Language (UVL)) y herramientas para su análisis automático como FaMa o FeatureIDE entre otras. En este artículo presentamos WebSPL, un configurador automático que implementa una línea de producto software de sitios WordPress haciendo uso de un modelo de características. Para ello, la herramienta delega en FLAMA+ADs una herramienta de análisis de modelos de características para el ecosistema Python, la validación, y despliega de manera automática los sitios webs teniendo en cuenta información de dominio.

Autores: José A. Zamudio / David Romero / José A. Galindo / David Benavides / 
Palabras Clave: Análisis automático de modelos de características (AAFM) - Líneas de producto software (SPL) - Modelos de características (FM)

20 - Una Línea de Productos Software para la Visualización de Datos

La visualización de datos expone una gran cantidad de variabilidad a nivel de diseño de gráficos y su implementación con las herramientas existentes. Sin embargo, no todas las configuraciones son igual de efectivas para representar datos. Nosotros proponemos una línea de productos software (SPL) para la visualización de datos que sintetiza la variabilidad y los principios y buenas prácticas de diseño en visualización de datos, modelando aquellas opciones recomendadas por los expertos en visualización y reduciendo la variabilidad expuesta por las librerías software existentes.Este trabajo presenta la implementación de la SPL de visualización de datos. Concretamente se presentan los artefactos desarrollados en la SPL, incluyendo el modelo de variabilidad y la implementación de las visualizaciones usando plantillas variables, y se muestra la viabilidad de nuestra propuesta con la que se abre una nueva línea de investigación donde se aplican técnicas de variabilidad a la visualización de datos.

Autores: José Miguel Horcas Aguilera / José A. Galindo / David Benavides / 
Palabras Clave: Línea de Productos Software - Variabilidad - Visualización