Inteligencia Artificial para Ingeniería del Software (antes ISBBAA)

URI permanente para esta colección:

Artículos en la categoría Inteligencia Artificial para Ingeniería del Software (antes ISBBAA) publicados en las Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023).
Notificar un error en esta colección

Examinar

Envíos recientes

Mostrando 1 - 14 de 14
  • Artículo
    Towards Self-Adaptive Software for Wildfire Monitoring with Unmanned Air Vehicles
    Vílchez, Enrique; Troya, Javier; Cámara, Javier. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Wildfires have evolved significantly over the last decades, burning increasingly large forest areas every year. Smart cyber-physical systems like small Unmanned Air Vehicles (UAVs) can help to monitor, predict, and mitigate wildfires. In this paper, we present an approach to build control software for UAVs that allows autonomous monitoring of wildfires. Our proposal is underpinned by an ensemble of artificial intelligence techniques that include: (i) Recurrent Neural Networks (RNNs) to make local UAV predictions about how the fire will spread over its surrounding area; and (ii) Deep Reinforcement Learning (DRL) to learn policies that will optimize the operation of the UAV team.
  • Resumen
    Watch Out for Extrinsic Bugs! A Case Study of Their Impact in Just-In-Time Bug Prediction Models on the OpenStack Project
    Rodríguez-Pérez, Gema; Nagappan, Meiyappan; Robles, Gregorio. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Intrinsic bugs are bugs for which a bug-introducing change can be identified in the version control system of a software. In contrast, extrinsic bugs are caused by external changes to a software, such as errors in external APIs; thereby they do not have an explicit bug-introducing change in the version control system. Although most previous research literature has assumed that all bugs are of intrinsic nature, in a previous study, we show that not all bugs are intrinsic. This paper shows an example of how considering extrinsic bugs can affect software engineering research. Specifically, we study the impact of extrinsic bugs in Just-In-Time bug prediction by partially replicating a recent study by McIntosh and Kamei on JIT models. These models are trained using properties of earlier bug-introducing changes. Since extrinsic bugs do not have bug-introducing changes in the version control system, we manually curate McIntosh and Kamei’s dataset to distinguish between intrinsic and extrinsic bugs. Then, we address their original research questions, this time removing extrinsic bugs, to study whether bug-introducing changes are a moving target in Just-In-Time bug prediction. Finally, we study whether characteristics of intrinsic and extrinsic bugs are different. Our results show that intrinsic and extrinsic bugs are of different nature. When removing extrinsic bugs the performance is different up to 16 percent Area Under the Curve points. This indicates that our JIT models obtain a more accurate representation of the real world. We conclude that extrinsic bugs negatively impact Just-In-Time models. Furthermore, we offer evidence that extrinsic bugs should be further investigated, as they can significantly impact how software engineers understand bugs.
  • Resumen
    Some Seeds Are Strong: Seeding Strategies for Search-based Test Case Selection
    Arrieta, Aitor; Valle, Pablo; Agirre, Joseba Andoni; Sagardui, Goiuria. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    The time it takes software systems to be tested is usually long. Search-based test selection has been a widely investigated technique to optimize the testing process. In this article, we propose a set of seeding strategies for the test case selection problem that generates the initial population of Pareto-based multi-objective algorithms, with the goals of (1) helping to find an overall better set of solutions and (2) enhancing the convergence of the algorithms. The seeding strategies were integrated with four state-of-the-art multi-objective search algorithms and applied into two contexts where regression-testing is paramount: (1) Simulation-based testing of Cyber-physical Systems and (2) Continuous Integration. For the first context, we evaluated our approach by using six fitness function combinations and six independent case studies, whereas in the second context, we derived a total of six fitness function combinations and employed four case studies. Our evaluation suggests that some of the proposed seeding strategies are indeed helpful for solving the multi-objective test case selection problem. Specifically, the proposed seeding strategies provided a higher convergence of the algorithms towards optimal solutions in 96\% of the studied scenarios and an overall cost-effectiveness with a standard search budget in 85\% of the studied scenarios.
  • Resumen
    An Empirical Study on the Survival Rate of GitHub Projects
    Ait, Adem; Cánovas Izquierdo, Javier Luis; Cabot, Jordi. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    The number of Open Source projects hosted in social coding platforms such as GitHub is constantly growing. However, many of these projects are not regularly maintained and some are even abandoned shortly after they were created. In this paper we analyze early project development dynamics in software projects hosted on GitHub, including their survival rate. To this aim, we collected all 1,127 GitHub repositories from four different ecosystems (i.e., NPM packages, R packages, WordPress plugins and Laravel packages) created in 2016. We stored their activity in a time series database and analyzed their activity evolution along their lifespan, from 2016 to now. Our results reveal that the prototypical development process consists of intensive coding-driven active periods followed by long periods of inactivity. More importantly, we have found that a significant number of projects die in the first year of existence with the survival rate decreasing year after year. In fact, the probability of surviving longer than five years is less than 50% though some types of projects have better chances of survival.
  • Resumen
    Generating Structurally Realistic Models With Deep Autoregressive Networks
    Hernández López, José Antonio; Sánchez Cuadrado, Jesús. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Model generators are important tools in model-based systems engineering to automate the creation of software models for tasks like testing and benchmarking. Previous works have established four properties that a generator should satisfy: consistency, diversity, scalability, and structural realism. Although several generators have been proposed, none of them is focused on realism. As a result, automatically generated models are typically simple and appear synthetic. This work proposes a new architecture for model generators which is specifically designed to be structurally realistic. Given a dataset consisting of several models deemed as real models, this type of generators is able to produce new models which are structurally similar to the models in the dataset, but are fundamentally novel models. Our implementation, named ModelMime (M2), is based on a deep autoregressive model which combines a Graph Neural Network with a Recurrent Neural Network. We decompose each model into a sequence of edit operations, and the neural network is trained in the task of predicting the next edit operation given a partial model. At inference time, the system produces new models by sampling edit operations and iteratively completing the model. We have evaluated M2 with respect to three state-of-the-art generators, showing that 1) our generator outperforms the others in terms of the structurally realistic property 2) the models generated by M2 are most of the time consistent, 3) the diversity of the generated models is at least the same as the real ones and, 4) the generation process is scalable once the generator is trained.
  • Resumen
    ARTE: Automated Generation of Realistic Test Inputs for Web APIs
    Alonso Valenzuela, Juan Carlos; Martin-Lopez, Alberto; Segura, Sergio; García, José María; Ruiz-Cortés, Antonio. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Automated test case generation for web APIs is a thriving research topic, where test cases are frequently derived from the API specification. However, this process is only partially automated since testers are usually obliged to manually set meaningful valid test inputs for each input parameter. In this article, we present ARTE, an approach for the automated extraction of realistic test data for web APIs from knowledge bases like DBpedia. Specifically, ARTE leverages the specification of the API parameters to automatically search for realistic test inputs using natural language processing, search-based, and knowledge extraction techniques. ARTE has been integrated into RESTest, an open-source testing framework for RESTful APIs, fully automating the test case generation process. Evaluation results on 140 operations from 48 real-world web APIs show that ARTE can efficiently generate realistic test inputs for 64.9% of the target parameters, outperforming the state-of-the-art approach SAIGEN (31.8%). More importantly, ARTE supported the generation of over twice as many valid API calls (57.3%) as random generation (20%) and SAIGEN (26%), leading to a higher failure detection capability and uncovering several real-world bugs. These results show the potential of ARTE for enhancing existing web API testing tools, achieving an unprecedented level of automation.
  • Resumen
    QoS-Aware Fog Node Placement for Intensive IoT Applications in SDN-Fog Scenarios
    Herrera, Juan Luis; Galán, Jaime; Foschini, Luca; Bellavista, Paolo; Berrocal, Javier; Murillo Rodríguez, Juan Manuel. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    The advent of the Internet of Things (IoT) paradigm to intensive domains, such as industry, is a key enabler for the automation of critical, real-world processes. The strict Quality of Service (QoS) requirements of these domains make low-latency computing paradigms, such as fog computing, very attractive for meeting these requirements. Moreover, the requirements of scalability and flexibility in the underlying network communications motivate the use of Software-Defined Networking (SDN) in the infrastructure. To enable these fog-SDN environments, fog nodes that have both computing and SDN capabilities can be deployed, thus easing the deployment of fog in SDN networks. However, the exact placement of these fog nodes is key to the latency of the hosts that make use of them, and thus, must be carefully assessed to meet the stringent QoS requirements of critical, time-strict IoT applications. This paper focuses on this fog node placement problem by formalizing it and solving it through both optimal and approximated methods, including comparisons with state-of-the-art benchmarks. In particular, we analyze the performance of each of these methods in terms of latency and execution time in both SDN Internet topologies and Industrial IoT infrastructures. Our proposed heuristic provides placements with near-optimal latencies, with smaller optimality gaps than the benchmark, and computes them in tractable times.
  • Artículo
    GRASP multiobjetivo con reencadenamiento de trayectorias aplicado al problema de la siguiente versión
    Pérez-Piqueras, Víctor; Bermejo López, Pablo; Gámez, José A.. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    En la Ingeniería de Software, la planificación de la entrega de versiones de productos software es una actividad compleja que requiere considerar el coste de implementar un subconjunto de características software, así como la satisfacción de los clientes y las dependencias entre dichas características, siendo difícil de resolver por juicio de expertos. En el campo de la Ingeniería del Software Basada en Búsqueda, se han introducido diversos algoritmos metaheurísticos, generalmente evolutivos, para resolver este problema. En este estudio proponemos un método avanzado basado en GRASP, y lo comparamos con otras familias de algoritmos comúnmente utilizadas. Los resultados muestran que nuestro método es viable y proporciona los mejores resultados en términos de calidad de las soluciones obtenidas y velocidad de ejecución.
  • Resumen
    InterEvo-TR: Interactive Evolutionary Test Generation with Readability Assessment
    Delgado-Pérez, Pedro; Ramírez, Aurora; Valle-Gómez, Kevin; Medina-Bulo, Inmaculada; Romero, José Raúl. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Automated test case generation has proven to be useful to reduce the usually high expenses of software testing. However, several studies have also noted the skepticism of testers regarding the comprehension of generated test suites when compared to manually designed ones. This fact suggests that involving testers in the test generation process could be helpful to increase their acceptance of automatically-produced test suites. In this paper, we propose incorporating interactive readability assessments made by a tester into EvoSuite, a widely-known evolutionary test generation tool. Our approach, InterEvo-TR, interacts with the tester at different moments during the search and shows different test cases covering the same coverage target for their subjective evaluation. The design of such an interactive approach involves a schedule of interaction, a method to diversify the selected targets, a plan to save and handle the readability values, and some mechanisms to customize the level of engagement in the revision, among other aspects. To analyze the potential and practicability of our proposal, we conduct a controlled experiment in which 39 participants, including academics, professional developers, and student collaborators, interact with InterEvo-TR. Our results show that the strategy to select and present intermediate results is effective for the purpose of readability assessment. Furthermore, the participants' actions and responses to a questionnaire allowed us to analyze the aspects influencing test code readability and the benefits and limitations of an interactive approach in the context of test case generation, paving the way for future developments based on interactivity.
  • Artículo
    ChatbotSQL: Agente Conversacional y Plataforma Web para el Aprendizaje de SQL
    Pérez-Mercado, Rubén; Balderas, Antonio; Muñoz, Andrés; Cabrera, Juan Francisco; Palomo-Duarte, Manuel; Dodero, Juan Manuel. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    La comprensión de las bases de datos no solo requiere conocimientos técnicos, sino también una capacidad para conceptualizar y organizar información de manera lógica y sistemática, lo cual puede resultar desafiante para muchos estudiantes de informática. Para ayudar al estudiante en el aprendizaje y entrenamiento de SQL, este trabajo presenta la herramienta ChatbotSQL, un agente conversacional que da soporte al estudiante en la resolución de diferentes ejercicios SQL y que le permite trabajar de manera autónoma. ChatbotSQL se presenta en una plataforma web que permite al profesorado definir y distribuir ejercicios en tres niveles de dificultad. Estos ejercicios serán resueltos por los estudiantes con la ayuda del chatbot, permitiéndoles trabajar a su ritmo y proporcionándoles evidencias de su progreso. Esta herramienta ha sido probada en una asignatura de Bases de Datos dos años consecutivos, arrojando evidencias positivas de su utilidad.
  • Resumen
    Automatizing Software Cognitive Complexity Reduction
    Saborido, Rubén; Ferrer, Javier; Chicano, Francisco; Alba, Enrique. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Software plays a central role in our life nowadays. We use it almost anywhere, at any time, and for everything: to browse the Internet, to check our emails, and even to access critical services such as health monitoring and banking. Hence, its reliability and general quality is critical. As software increases in complexity, developers spend more time fixing bugs or making code work rather than designing or writing new code. Thus, improving software understandability and maintainability would translate into an economic relief over the total cost of a project. Different cognitive complexity measures have been proposed to quantify the understandability of a piece of code and, therefore, its maintainability. However, the cognitive complexity metric provided by SonarSource and integrated in SonarCloud and SonarQube is quickly spreading in the software industry due to the popularity of these well-known static code tools for evaluating software quality. Despite SonarQube suggests to keep method’s cognitive complexity no greater than 15, reducing method’s complexity is challenging for a human programmer and there are no approaches to assist developers on this task. We model the cognitive complexity reduction of a method as an optimization problem where the search space contains all sequences of Extract Method refactoring opportunities. We then propose a novel approach that searches for feasible code extractions allowing developers to apply them, all in an automated way. This will allow software developers to make informed decisions while reducing the complexity of their code. We evaluated our approach over 10 open-source software projects and was able to fix 78% of the 1,050 existing cognitive complexity issues reported by SonarQube. We finally discuss the limitations of the proposed approach and provide interesting findings and guidelines for developers.
  • Artículo
    Contrastive and counterfactual explanations for test case prioritization: Ideas and challenges
    Ramírez, Aurora; Berrios, Mario; Feldt, Robert; Romero, José Raúl. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    As machine learning (ML) is increasingly used in software engineering (SE), explainable artificial intelligence (XAI) is crucial for understanding choices made by opaque, "black-box" models. Test case prioritization (TCP) is an important SE problem that can benefit from ML. In this paper, we explore two approaches for generating explanations in ML-based TCP, contrastive and counterfactual XAI, and present application scenarios where they can enhance testers' comprehension of model outputs. Specifically, we use DiCE, a method for generating counterfactual explanations, as an illustrative example and conclude by discussing open issues.
  • Resumen
    Is the Revisited Hypervolume an Appropriate Quality Indicator to Evaluate Multi-Objective Test Case Selection Algorithms?
    Arrieta, Aitor. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    Multi-objective test case selection techniques are widely investigated with the goal of devising novel solutions to increase the cost-effectiveness of verification processes. When evaluating such approaches the entire Pareto-frontier of the algorithm needs to be considered. To do so, several quality indicators exist. The \textit{hypervolume} (HV) is one of the most well-known and applied quality indicator. However, in the context of test case selection, this metric has certain limitations. For instance, two different fitness function combinations are not comparable if this metric is used at the search algorithm's objective function level. Consequently, researchers proposed the revisited HV ($rHV$) indicator. To compute the $rHV$, each solution of the search algorithm is individually assessed through two external utility functions: the cost and the fault detection capability (FDC). However, this increases the risk of having dominated solutions, which in practice may lead a {decision maker} (DM) to select such dominated solution. In this paper we assess whether the $rHV$ is an appropriate quality indicator to assess multi-objective test case selection algorithms. To do so, we empirically assess whether the results between the $rHV$ and the FDC of the different DM instances hold. Long story short, the $rHV$ is an appropriate quality indicator.
  • Artículo
    Minería de repositorios para la recomendación de librerías Python con CrossRec
    García-Pozo, Pedro Pablo; Ramírez, Aurora; Romero, José Raúl. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.
    La minería de repositorios software permite la extracción y análisis de datos provenientes de plataformas como GitHub con el objetivo de construir sistemas de recomendación para ingenieros software, entre otros. Uno de los campos de aplicación es la recomendación de librerías de terceros en base a las similitudes entre repositorios. En este trabajo abordamos este problema para repositorios de código Python. A pesar de la importancia actual de este lenguaje, aún no se han propuesto sistemas de recomendación específicos para sus librerías. En nuestro estudio experimental analizamos la influencia de varios factores a la hora de extraer los datos, como los criterios de filtrado de repositorios y la fuente de donde se extraen las librerías utilizadas por cada repositorio. A continuación, aplicamos el sistema de recomendación CrossRec sobre los conjuntos de datos para evaluar su rendimiento. Nuestros resultados confirman la necesidad de adaptar los sistemas de recomendación en función de la cantidad y diversidad de repositorios software que se observa en el ecosistema Python.