Navegación

Búsqueda

Búsqueda avanzada

El autor David Benavides ha publicado 12 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