Métodos de Investigación en Ingeniería del Software y Sistemas de Información
URI permanente para esta colección:
Artículos en la categoría Métodos de Investigación en Ingeniería del Software y Sistemas de Información 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
Artículo Auto-adaptación de microservicios: revisión sistemática de la literaturaSerrano Gutiérrez, Pablo; Ayala, Inmaculada; Fuentes, Lidia. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Los microservicios son un estilo arquitectónico que propone el desarrollo de sistemas software como un conjunto de procesos independientes y potencialmente distribuidos que interactúan para proporcionar una determinada funcionalidad. La gestión de este tipo de sistemas es tremendamente compleja ya que aúna los problemas intrínsecos de las aplicaciones distribuidas desplegadas en la nube, la heterogeneidad de los sistemas donde se despliegan y la posibilidad de fallo de los microservicios. Todo ello ha motivado la aplicación de técnicas de auto-adaptación en las aplicaciones basadas en microservicios. El objetivo de este estudio es clasificar y analizar los trabajos de auto-adaptación para microservicios. Para ello hemos realizado una revisión sistemática de la literatura con 37 trabajos publicados en los últimos 10 años. Los trabajos han sido clasificados teniendo en cuenta las tecnologías utilizadas y cómo realizan la auto-adaptación. También se han analizado sus contribuciones y retos pendientes. Nuestra principal conclusión es que no hay propuestas holísticas que aborden todos los problemas de gestión de microservicios. Además, hay áreas que aún están poco exploradas como el uso de las técnicas dirigidas por modelos, la auto-adaptación de microservicios en el edge o la IoT, o el análisis del impacto de los propios procesos de auto-adaptación.Artículo Conferencia invitada: «Empirical Software Engineering as a Science: A Manifesto», por Robert FeldtFeldt, Robert. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.The Empirical Software Engineering (ESE) community has made great progress in the last 20 years and expanded the field considerably both in scope, volume as well as quality. Nowadays, we have established conferences as well as journals focused on the area, and a majority of the papers published in the top SE conferences are empirical. However, while more established scientific fields such as Physics, Biology and Psychology have clear identities, specific schools of thought, and explicated research methods, I argue this is less so in ESE. In this talk, I propose an updated manifesto for empirical software engineering and discuss some challenges and ways we might overcome them. This, I hope, can contribute to a more clear sense of identity and act as a vision. In particular, I discuss the negative effects of our love for novelty and how it affects publication bias and can be a challenge to uncover truths. I also summarize the ongoing debate among statisticians about how to move beyond p-values and provide some ideas for how to improve empirical studies using qualitative methods. I will conclude with concrete call-for-actions so that we can be an even stronger science in the future. Short biography: Robert Feldt is a professor of Software Engineering at Chalmers University of Technology, Sweden, and at Blekinge Institute of Technology, Sweden. He has broad research interests spanning from human factors to hardcore automation and statistics, and work on testing and quality, requirements engineering, as well as human-centred (behavioural) software engineering. Dr Feldt was an early contributor to search-based software engineering and has recently argued for increased application of psychology and social science to understand and improve software engineering. Most of his research is empirical and conducted in close collaboration with industry partners in Sweden, Europe and Asia, but he also leads more basic research. Dr Feldt received a PhD in Computer Engineering from the Chalmers University of Technology in 2002, studied Psychology at Gothenburg University in the ’90s and has also worked as an IT and software consultant for more than 30 years. He is passionate about empirical research and methods and changing organisations through technical innovation, but with the humans in focus. He is co-Editor in Chief of the EMSE journal and on the editorial boards of two other journals.Resumen El Origen de los Errores en el Software: Un modelo para Identificar Cómo se Introducen Errores en el SoftwareRodríguez-Pérez, Gema; Robles, Gregorio; Serebrenik, Alexander; Zaidman, Andy; German, Daniel; Gonzalez-Barahona, Jesus M.. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.A la hora de identificar el origen de los errores en el software, muchos estudios asumen que +ACI-el error fue introducido en las líneas de código que se modificaron para solucionarlo+ACI. Sin embargo, esta suposición no siempre se cumple, ya que al menos en algunos casos esas líneas que se modificaron no fueron las causantes. As+AO0 pasa, por ejemplo, cuando el error es debido a un cambio en una API externa. La falta de evidencia empírica hace imposible evaluar la importancia de estos casos y, por lo tanto, en qu+AOk medida la suposición que comentábamos anteriormente es válida. Para avanzar en esta dirección y comprender mejor cómo nacen los errores, proponemos un modelo de definición de criterios para identificar cuándo un sistema de software en evolución presenta un error. Este modelo, basado en la idea de prueba perfecta, permite reconocer si se ha introducido un error al cambiar el software. Además, estudiamos los criterios del modelo analizando cuidadosamente cómo se introdujeron 116 errores en dos proyectos de software libre. El análisis manual ha ayudado a clasificar la causa de los errores y ha permitido crear manualmente dos conjuntos de datos con cambios que introducen errores y con errores que no fueron introducidos por ningún cambio en el código fuente. Finalmente, usamos estos conjuntos de datos para evaluar el rendimiento de cuatro algoritmos existentes basados en SZZ para detectar los cambios que introducen errores. Hemos descubierto que los algoritmos basados en SZZ no son muy precisos, especialmente cuando se encuentran múltiples confirmaciones+ADs el F-Score varía de 0,44 a 0,77, mientras que el porcentaje de verdaderos positivos no supera el 63+ACU. Nuestros resultados muestran evidencia empírica de que la suposición predominante, +AGAAYA-un error fue introducido por las líneas de código que se modificaron para solucionarlo'', es solo un caso de cómo se introducen errores en un sistema de software. Hemos podido comprobar que encontrar qu+AOk introdujo un error no es trivial: los desarrolladores pueden introducir errores en el código, pero también pueden aparecer errores independientemente del código. Por lo tanto, necesitamos seguir investigando para una mejor comprensión del origen de los errores en los proyectos de software que pueda ayudar a mejorar las pruebas de integración del diseño y a diseñar otros procedimientos que hagan que el desarrollo de software sea más robusto.Resumen Impact of usability mechanisms: An experiment on efficiency, effectiveness and user satisfactionFerreira, Juan M.; Acuña, Silvia T.; Dieste, Oscar; Vegas, Sira; Santos, Adrián; Rodríguez, Francy; Juristo Juzgado, Natalia. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Context: As a software quality characteristic, usability includes the attributes of efficiency, effectiveness and user satisfaction. There are several recommendations in the literature on how to build usable software systems, but there are not very many empirical studies that provide evidence about their impact. Objective: We report an experiment carried out with users to understand the effect of three usability mechanisms +IBQ-Abort Operation, Progress Feedback and Preferences+IBQ on efficiency, effectiveness and user satisfaction. Usability mechanisms are functionalities that should, according to the HCI community, be implemented within a software system to increase its usability. Method: The experiment was conducted with 168 users divided into 24 experimental groups. Each group performs three online shopping tasks. We measure efficiency variables (number of clicks and time taken), effectiveness (percentage of task completion) and user satisfaction gathered from a questionnaire. Results: The adoption of Abort Operation has a signi++wE-cantly positive effect on efficiency (time taken), effectiveness and user satisfaction. The adoption of Progress Feedback does not appear to have any impact on any of the variables. The adoption of Preferences has a signi++wE-cantly positive effect on effectiveness and user satisfaction but no in++wI-uence on efficiency. Conclusions: We provide relevant evidence of the impact of the three usability mechanisms on efficiency, effectiveness and user satisfaction. In no case do the usability mechanisms degrade user performance. The effort to adopt Abort Operation and Preferences appears to be justi++wE-ed by the bene++wE-ts in terms of effectiveness and user satisfaction. Also Abort Operation enables the user to be more productive. We believe that the effects on efficiency, effectiveness and satisfaction depend not only on mechanism functionality but also on the problem domain. The impact of a mechanism in other contexts could differ. Therefore, we need to conduct further experiments to gather more evidence and con++wE-rm these results.Resumen Effects of Mindfulness on Conceptual Modeling Performance: A Series of ExperimentsBernárdez, Beatriz; Durán, Amador; Parejo, José Antonio; Juristo Juzgado, Natalia; Ruiz-Cortés, Antonio. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Context. Mindfulness is a meditation technique whose main goal is keeping the mind calm and educating attention by focusing only on one thing at a time, usually breathing. The reported benefits of its continued practice can be of interest for Software Engineering students and practitioners, especially in tasks like conceptual modeling, in which concentration and clearness of mind are crucial. Goal. In order to evaluate whether Software Engineering students enhance their conceptual modeling performance after several weeks of mindfulness practice, a series of three controlled experiments were carried out at the University of Seville during three consecutive academic years (2013+IBM-2016) involving 130 students. Method. In all the experiments, the subjects were divided into two groups. While the experimental group practiced mindfulness, the control group was trained in public speaking as a placebo treatment. All the subjects developed two conceptual models based on a transcript of an interview, one before and another one after the treatment. The results were compared in terms of conceptual modeling quality (measured as effectiveness, i.e., the percentage of model elements correctly identified) and productivity (measured as efficiency, i.e., the number of model elements correctly identified per unit of time). Results. The statistically significant results of the series of experiments revealed that the subjects who practiced mindfulness developed slightly better conceptual models (their quality was 8.16 percent higher) and they did it faster (they were 46.67 percent more productive) than the control group, even if they did not have a previous interest in meditation. Conclusions. The practice of mindfulness improves the performance of Software Engineering students in conceptual modeling, especially their productivity. Nevertheless, more experimentation is needed in order to confirm the outcomes in other Software Engineering tasks and populations.Resumen An SLR-Tool: Search Process in Practice : A tool to conduct and manage Systematic Literature Review (SLR)Hinderks, Andreas; Domínguez Mayo, Francisco José; Thomaschewski, Jörg; Escalona, M.J.. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Systematic Literature Reviews (SLRs) have established themselves as a method in the field of software engineering. The aim of an SLR is to systematically analyze existing literature in order to answer a research question. In this paper, we present a tool to support an SLR process. The main focus of the SLR tool (https://www.slr-tool.com/) is to create and manage an SLR project, to import search results from search engines, and to manage search results by including or excluding each paper. A demo video of our SLR tool is available at https://youtu.be/Jan8JbwiE4k.Resumen Management of quality requirements in agile and rapid software development: A systematic mapping studyBehutiye, Woubshet; Karhapäa, Pertti; Lopez, Lidia; Burgués, Xavier; Martínez-Fernández, Silverio; Vollmer, Anna Maria; Rodríguez, Pilar; Franch, Xavier. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.Context. Quality requirements (QRs) describe the desired quality of software, and they play an important role in the success of software projects. In agile software development (ASD), QRs are often ill-defined and not well addressed due to the focus on quickly delivering functionality. Rapid software development (RSD) approaches (e.g., continuous delivery and continuous deployment), which shorten delivery times, are more prone to neglect QRs. Despite the significance of QRs in both ASD and RSD, there is limited synthesized knowledge on their management in those approaches. Objective. This study aims to synthesize state-of-the-art knowledge about QR management in ASD and RSD, focusing on three aspects: bibliometric, strategies, and challenges. Research method. Using a systematic mapping study with a snowballing search strategy, we identified and structured the literature on QR management in ASD and RSD. Results. We found 156 primary studies: 106 are empirical studies, 16 are experience reports, and 34 are theoretical studies. Security and performance were the most commonly reported QR types. We identified various QR management strategies: 74 practices, 43 methods, 13 models, 12 frameworks, 11 advices, 10 tools, and 7 guidelines. Additionally, we identified 18 categories and 4 non-recurring challenges of managing QRs. The limited ability of ASD to handle QRs, time constraints due to short iteration cycles, limitations regarding the testing of QRs and neglect of QRs were the top categories of challenges. Conclusion. Management of QRs is significant in ASD and is becoming important in RSD. This study identified research gaps, such as the need for more tools and guidelines, lightweight QR management strategies that fit short iteration cycles, investigations of the link between QRs challenges and technical debt, and extension of empirical validation of existing strategies to a wider context. It also synthesizes QR management strategies and challenges, which may be useful for practitioners.