Ingeniería del Software Basada en Búsqueda y Aprendizaje Automático
URI permanente para esta colección:
Artículos en la categoría Ingeniería del Software Basada en Búsqueda y Aprendizaje Automático publicados en las Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021).
Notificar un error en esta colección
Examinar
Envíos recientes
Resumen Many-Objective Test Suite Generation for Software Product LinesHierons, Rob; Li, Miqing; Liu Liu, Xiaohui; Parejo Maestre, José Antonio; Segura Rueda, Sergio; Yao, Xin. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.A Software Product Line (SPL) is a set of products built from a number of features, the set of valid products being dened by a feature model. Typically, it does not make sense to test all products dened by an SPL and one instead chooses a set of products to test (test selection) and, ideally, derives a good order in which to test them (test prioritisation). Since one cannot know in advance which products will reveal faults, test selection and prioritisation are normally based on objective functions that are known to relate to likely effectiveness or cost. This article introduces a new technique, the grid-based evolution strategy (GrES), which considers several objective functions that assess a selection or prioritisation and aims to optimise on all of these. The problem is thus a many-objective optimisation problem. We use a new approach, in which all of the objective functions are considered but one (pairwise coverage) is seen as the most important. We also derive a novel evolution strategy based on domain knowledge. The results of the evalua- tion, on randomly generated and realistic feature models, were promising, with GrES outperforming previously proposed techniques and a range of many-objective optimisation algorithms.Artículo Despliegue Óptimo de Aplicaciones IoT DistribuidasHerrera, Juan Luis; Galán-Jiménez, Jaime; García Alonso, José Manuel; Berrocal, José Javier; Murillo Rodríguez, Juan Manuel. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.La aparición del Internet de las cosas (IoT) ha atraído el interés de industria y academia para su aplicación en dominios intensivos, como la salud. Esta clase de aplicaciones tienen requisitos estrictos de calidad de servicio (QoS), lo que motiva el uso de paradigmas como edge o fog computing. Las redes definidas por sofware, junto a las arquitecturas de microservicios, permiten el uso de dichos paradigmas proveyendo virtualización, flexibilidad y programabilidad a las aplicaciones IoT distribuidas. Sin embargo, para cumplir los estrictos requisitos de estas aplicaciones, la QoS debe optimizarse considerando la interacción de tres dimensiones: computación, red y aplicación. En este trabajo presentamos el framework Despliegue +AwEA0w-ptimo de Aplicaciones Distribuidas, que optimiza la localización de microservicios y recursos de red en términos de tiempo de respuesta y coste del despliegue.Artículo Evaluating TESTAR’s effectiveness through code coveragevan der Brugge, Aaron; Pastor Ricos, Fernando; Aho, Pekka; Marín, Beatriz; Vos, Tanja E. J.. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Testing is of paramount importance in assuring the quality of software products. Nevertheless, it is not easy to judge which techniques or tools are the most effective. A commonly used surrogate metric to evaluate the effectiveness of testing tools is code coverage, which has been widely used for unit and integration testing. However, for GUI testing approaches, this metric has not been sufficiently investigated. To fill this gap, we run experiments with the TESTAR tool, a scriptless testing tool that automatically generates test cases at the Graphical User Interface (GUI) level. In the experiment, we analyze and compare the obtained code coverage when using four different action selection mechanisms (ASMs) in TESTAR that are used to test three SUTs.Resumen Combining Evolutionary Mutation Testing with Random SelectionGutiérrez-Madroñal, Lorena; García Domínguez, Antonio; Medina Bulo, María Inmaculada. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Mutation testing is a well-known fault-based technique that has been applied to different domains as new technologies have appeared. Evolutionary Mutation Testing (EMT) finds mutants that are useful to produce new test cases. It uses evolutionary algorithms to reduce the number of mutants that are generated, keeping as many difficult to kill and stubborn mutants (strong mutants) as possible in the reduced set. Given the popularity of real-time systems, the MuEPL mutation system was developed for the Esper Event Processing Language (EPL), a query language aimed at the Internet of Things (IoT). In past work, EMT was integrated into MuEPL, and it reduced the cost of finding strong mutants in some EPL queries but not in others. This study takes a step forward by proposing and evaluating two metaheuristics for EMT that combine EMT and random selection: one which bootstraps the hall of fame with a random subset (Bootstrapped EMT), and one which falls back to random selection after a certain point (Inverse EMT). While BEMT is shown to outperform IEMT in most cases, BEMT has not managed to outperform EMT. An additional experiment studies the impact of low-quality mutation operators in the relative performance of BEMT, IEMT and plain EMT. Results suggest that the MuEPL RRO operator was the reason for the poor performance of EMT in some scenarios.Artículo Mejora de la legibilidad en la generación de casos de prueba mediante búsqueda interactivaDelgado Pérez, Pedro; Ramírez, Aurora; Valle-Gómez, Kevin J.; Medina Bulo, María Inmaculada; Romero, José Raúl. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.La generación de pruebas es una actividad costosa pero a la vez imprescindible para aumentar la calidad de los proyectos software. Las herramientas de pruebas automatizadas basadas en los principios de la búsqueda evolutiva aún presentan limitaciones a la hora de encontrar fallos en sistemas reales, as+AO0 como en la obtención de código entendible para un ingeniero de pruebas. El uso de enfoques interactivos puede ayudar a paliar estas limitaciones, pues permiten incluir conocimiento y habilidades humanas en la búsqueda. En este trabajo presentamos las posibilidades que la interacción ofrece a la generación automática de casos de prueba, proponiendo un algoritmo evolutivo interactivo capaz de integrar la evaluación del ingeniero de pruebas respecto a la legibilidad de los casos de prueba. Una comparativa inicial frente a la versión no interactiva del algoritmo evidencia que la inclusión de interacción favorece la generación de conjuntos de pruebas más legibles, sin perjudicar la cobertura alcanzada. Fruto de este primer experimento, basado en interacción simulada, planteamos una serie de retos relacionados con el diseño y validación real de algoritmos evolutivos interactivos en el contexto de la generación de pruebas.Resumen A Fine-Grained Requirement Traceability Evolutionary Algorithm: Kromaia, a Commercial Video Game Case StudyBlasco, Daniel; Cetina Englada, Carlos; Pastor López, Óscar. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Context: Commercial video games usually feature an extensive source code and requirements that are related to code lines from multiple methods. Traceability is vital in terms of maintenance and content update, so it is necessary to explore such search spaces properly. Objective: This work presents and evaluates CODFREL (Code Fragmentbased Requirement Location), our approach to fine-grained requirement traceability, which lies in an evolutionary algorithm and includes encoding and genetic operators to manipulate code fragments that are built from source code lines. We compare it with a baseline approach (Regular-LSI) by configuring both approaches with different granularities (code lines / complete methods). Method: We evaluated our approach and Regular-LSI in the Kromaia video game case study, which is a commercial video game released on PC and PlayStation 4. The approaches are configured with method and code line granularity and work on 20 requirements that are provided by the development company. Our approach and Regular-LSI calculate similarities between requirements and code fragments or methods to propose possible solutions and, in the case of CODFREL, to guide the evolutionary algorithm. Results: The results, which compare code line and method granularity configurations of CODFREL with different granularity configurations of RegularLSI, show that our approach outperforms Regular-LSI in precision and recall, with values that are 26 and 8 times better, respectively, even though it does not achieve the optimal solutions. We make an open-source implementation of CODFREL available. Conclusions: Since our approach takes into consideration key issues like the source code size in commercial video games and the requirement dispersion, it provides better starting points than Regular-LSI in the search for solution candidates for the requirements. However, the results and the influence of domain-specific language on them show that more explicit knowledge is required to improve such results.Resumen Seeding strategies for multi-objective test case selection: an application on simulation-based testingArrieta, Aitor; Agirre, Joseba Andoni; Sagardui, Goiuria. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Esta contribución es una publicación relevante del paper +AGAAYA-Seeding strategies for multi-objective test case selection: an application on simulation-based testing'', publicado en la conferencia GECCO 2020. Los autores de la publicación son Aitor Arrieta, Joseba Andoni Agirre y Goiuria Sagardui. El artículo presenta una serie de estrategias de cara a generar la pobalación inicial de algoritmos multi-objetivo para resolver el problema de la selección de casos de prueba. Aunque las estrategias propuestas son agnósticos de dominio y de algoritmo multi-objetivo, se integran en un test bench open-source que trata de seleccionar testeos de modelos de simulación y con el algoritmo NSGA-II. Una evaluación empírica con seis casos de estudio demuestran que las técnicas son efectivas. El congreso donde se ha publicado el paper es The Genetic and Evolutionary Computation Conference (GECCO) 2020, avalada por el ranking SCIE como conferencia de clase 2. Por otra parte, el paper fue seleccionado como mejor paper del track SBSE y nominado a mejor paper de la conferencia.Resumen An experimental and practical study on the equivalent mutant connection: An evolutionary approachDelgado Pérez, Pedro; Chicano García, José Francisco. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Las pruebas de mutación permiten evaluar y mejorar la calidad de los conjuntos de casos de prueba, pero resultan costosas debido a la existencia de muchos mutantes semánticamente equivalentes al código original, lo que requiere la revisión manual de los mutantes. Este trabajo estudia la posibilidad de que estos mutantes equivalentes estén relacionados tomando como base ciertas características comunes, como son los operadores de mutación que los generan o los fragmentos de códigos en los que estos mutantes aparecen. El experimento que se muestra en este artículo ofrece evidencias de la existencia de tales conexiones, lo cual permite abordar el problema de la detección de mutantes equivalentes desde una perspectiva global en lugar de una puramente individual como hasta el momento. En base a ello, se propone un algoritmo evolutivo que utiliza esta relación entre mutantes equivalentes para resolver de forma más eficiente el problema de selección de mutantes. El trabajo fue publicado en Information and Software Technology, revista indexada en Clarivate Journal of Citation Reports con un índice de impacto de 2,726, y que se encuentra en el cuartil Q2 en la categoría Computer Science, Software Engineering (edición del índice: 2019).Artículo Importancia de los interesados en el problema de la siguiente versiónSierra, Jose Antonio; del Aguila, Isabel María; del Sagrado, José. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.En la disciplina de la Ingeniería del Software Basada en Búsqueda el problema de la selección de los requisitos a desarrollar en la siguiente versión recoge en su formulación la necesidad de disponer de un peso asignado a cada cliente/interesado que fija su importancia en el proyecto. El cálculo de este peso o cuantificación de los interesados es un problema que debe abordarse antes del problema de búsqueda en s+AO0 mismo. Esta definición de los pesos es especialmente importante si se maneja un alto número de interesados, o cuando el mercado requiere tratar con detalle como se cubren las necesidades de todos los clientes. Este trabajo propone la utilización de algoritmos de agrupamiento, para identificar los interesados críticos en el proyecto y estudia, en el caso definido por el conjunto de datos para el proyecto Replacement Access, Library and ID Card (RALIC), si la distribución en grupos genera resultados similares a la utilización de los datos de cuantificación de los interesados. Finalmente, se estudia como influye la propuesta en los resultados obtenidos, en especial como los frentes de Pareto obtenidos suponen una alternativa válida para los distintos grupos de interesados.Artículo Detección de patrones de diseño con GEML: discusión y enfoque prácticoRomero, José Raúl; Barbudo Lunar, Rafael; Ramírez, Aurora; Servant, Francisco. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.La adopción de buenas prácticas es fundamental para conseguir código de calidad, elegante, comprensible y mantenible. Sin embargo, con el tiempo, tanto código como documentación se degradan. Para ello, la detección automática de patrones de diseño es un área prominente de investigación en ingeniería inversa, que persigue comprender las decisiones de diseño originales, as+AO0 como ayudar a redocumentar y recuperar código disperso en un repositorio de software. Son varias las propuestas hasta el momento, mayoritariamente basadas en similitudes o métodos formales. Estas técnicas resultan rígidas en la búsqueda, ya que la codificación de un patrón puede variar según cada equipo de desarrollo. Por ello, surgieron las propuestas basadas en aprendizaje automático. Recientemente GEML se propuso como un método basado en clasificación asociativa y programación genética gramatical, que aprende la forma de estos patrones con el objetivo de aportar flexibilidad, interpretabilidad y precisión en la detección. Este trabajo analiza las características de GEML que influyen en su aplicabilidad práctica por el ingeniero software, comparándolo además con herramientas de referencia en el área.