Examinando por Autor "Gallego, Micael"
Mostrando 1 - 9 de 9
- Resultados por página
- Opciones de ordenación
Ítem A dataset of regressions in web applications detected by end‑to‑end tests(Springer, 2021) Soto‑Sánchez, Óscar; Maes‑Bermejo, Michel; Gallego, Micael; Gortázar, FranciscoEnd-to-end tests present many challenges in the industry. The long-running times of these tests make it unsuitable to apply research work on test case prioritization or test case selection, for instance, on them, as most works on these two problems are based on datasets of unit tests. These ones are fast to run, and time is not usually a considered criterion. This is because there is no dataset of end-to-end tests, due to the infrastructure needs for running this kind of tests, the complexity of the setup and the lack of proper characterization of the faults and their fxes. Therefore, running end-to-end tests for any research work is hard and time-consuming, and the availability of a dataset containing regression bugs, documentation and logs for these tests might foster the usage of end-to-end tests in research works. This paper presents a) a dataset for this kind of tests, including six well-documented manually injected regression bugs and their corresponding fxes in three web applications built using Java and the Spring framework; b) tools for easing the execution of these tests no matter the infrastructure; and c) a comparative study with two well-known datasets of unit tests. The comparative study shows that there are important diferences between end-toend and unit tests, such as their execution time and the amount of resources they consume, which are much higher in the end-to-end tests. End-to-end testing deserves some attention from researchers. Our dataset is a frst efort toward easing the usage of end-to-end tests in research works.Ítem Código fuente con ejercicios y ejemplos del proyecto final para la asignatura de Desarrollo de Aplicaciones Web(2023-01) Gallego, Micael; Gortázar, Francisco; Maes Bermejo, Michel; Soto Sánchez, ÓscarCódigo fuente con ejercicios y ejemplos del proyecto final para la asignatura de Desarrollo de Aplicaciones Web del Grado en Ingeniería del Software de la ETSII URJC. El código fuente contiene los ejemplos y soluciones de los ejercicios presentados en las diapositivas de teoría. Además, contiene proyectos de ejemplo funcionales para las diferentes fases del proyecto final (que deben entregar los alumnos). > SWHID: {swh:1:dir:0cfd2446094e0763225f008bc6bfdd931b85ebe5} > Repositorio: https://github.com/codeurjc/daw/Ítem Colección de ejercicios, ejemplos y proyecto final de la asignatura Desarrollo de Aplicaciones Web(2023-01) Gallego, Micael; Gortázar, Francisco; Maes Bermejo, Michel; Soto Sánchez, ÓscarColección de ejercicios, ejemplos y proyecto final de la asignatura Desarrollo de Aplicaciones Web del Grado en Ingeniería del Software de la ETSII URJC. En dicha colección nos encontramos con los ejemplos y ejercicios de las diferentes partes de la asignatura (Parte 1, Parte 2, Parte 3 y Parte 4). Además, se adjunta el código con las soluciones de los diferentes ejercicios. Finalmente, se podrá revisar el enunciado del proyecto final de la asignatura.Ítem Colección de pruebas de evaluación para la asignatura de Desarrollo de Aplicaciones Web(2023-01) Gallego, Micael; Gortázar, Francisco; Maes Bermejo, Michel; Soto Sánchez, ÓscarColección de pruebas de evaluación para la asignatura de Desarrollo de Aplicaciones Web del Grado en Ingeniería del Software de la ETSII URJC. En dicha colección nos encontramos con exámenes que corresponden a los cursos académicos 2020/2021 y 2021/2022.Ítem Cost-effective load testing of WebRTC applications(Elsevier, 2022) Gortázar, Francisco; Gallego, Micael; Maes-Bermejo, Michel; Chicano-Capelo, Iván; Santos, CarlosBackground: Video conference applications and systems implementing the WebRTC W3C standard are becoming more popular and demanded year after year, and load testing them is of paramount importance to ensure they can cope with demand. However, this is an expensive activity, usually involving browsers to emulate users. Goal : to propose browser-less alternative strategies for load testing WebRTC services, and to study performance and costs of those strategies when compared with traditional ones. Method: (a) Exploring the limits of existing and novel strategies for load testing WebRTC services from a single machine. (b) Comparing the common strategy of using browsers with the best of our proposed strategies in terms of cost in a load testing scenario. Results: We observed that, using identical machines, our proposed strategies are able to emulate more users than traditional strategies. We also found a huge saving in expenditure for load testing, as our strategy suppose a saving of 96% with respect to usual browser-based strategies. We also found there are almost no differences between the traditional strategies considered. Conclusion: We provide details on scalability of different load testing strategies in terms of users emulated, as well as CPU and memory used. We could reduce the expenditure of load tests of WebRTC applications.Ítem Diapositivas de Teoría de la asignatura Desarrollo de Aplicaciones Web(2023-01) Gallego, Micael; Gortázar, Francisco; Maes Bermejo, Michel; Soto Sánchez, ÓscarDiapositivas de la asignatura Desarrollo de Aplicaciones Web del Grado en Ingeniería del Software de la ETSII URJC. En dichas diapositivas se incluyen todos los temas de la asignatura: Parte 0. Introducción: Presentación de la Asignatura, Resumen del temario. Parte 1. Tecnologías web básicas de cliente: Tema 1. Introducción a las aplicaciones web, Tema 2. Maquetación: HTML y CSS, Tema 3. Introducción a JavaScript, Tema 4. JavaScript Avanzado. Parte 2. Tecnologías web de servidor: Tema 1.1. Spring y Maven, Tema 1.2. Aplicaciones Web con Spring, Tema 2. APIs REST con Spring, Tema 3.1. Introducción a las Bases de datos, Tema 3.2. Bases de datos SQL en Spring, Tema 4. Construcción y despliegue en Spring, Tema 5. Seguridad en Spring. Parte 4. Tecnologías web avanzadas de cliente: Tema 1. Introducción: Angular, TypeScript y Herramientas, Tema 2. Componentes en Angular, Tema 3. REST y Servicios en Angular, Tema 4. Aplicaciones Multipágina. Router, Tema 5. Librerías de componentes gráficos, Tema 6. Publicación.Ítem Guía de estudio de la asignatura Desarrollo de Aplicaciones Web(2023-01) Gallego, Micael; Gortázar, Francisco; Maes Bermejo, Michel; Soto Sánchez, ÓscarGuía de estudio de la asignatura Desarrollo de Aplicaciones Web del Grado en Ingeniería del Software de la ETSII URJC. En dicha guía de estudio se presentan los objetivos que se persiguen, el temario, la metodología docente, la evaluación, el calendario y la bibliografía de la asignatura.Ítem Hunting bugs: Towards an automated approach to identifying which change caused a bug through regression testing(Springer, 2024-05-04) Maes-Bermejo, Michel; Serebrenik, Alexander; Gallego, Micael; Cortázar, Francisco; Robles, Gregorio; González Barahona, Jesús MaríaContext Finding code changes that introduced bugs is important both for practitioners and researchers, but doing it precisely is a manual, effort-intensive process. The perfect test method is a theoretical construct aimed at detecting Bug-Introducing Changes (BIC) through a theoretical perfect test. This perfect test always fails if the bug is present, and passes otherwise. Objective To explore a possible automatic operationalization of the perfect test method. Method To use regression tests as substitutes for the perfect test. For this, we transplant the regression tests to past snapshots of the code, and use them to identify the BIC, on a well-known collection of bugs from the Defects4J dataset. Results From 809 bugs in the dataset, when running our operationalization of the perfect test method, for 95 of them the BIC was identified precisely and in the remaining 4 cases, a list of candidates including the BIC was provided. Conclusions We demonstrate that the operationalization of the perfect test method through regression tests is feasible and can be completely automated in practice when tests can be transplanted and run in past snapshots of the code. Given that implementing regression tests when a bug is fixed is considered a good practice, when developers follow it, they can detect effortlessly bug-introducing changes by using our operationalization of the perfect test methodÍtem Revisiting the building of past snapshots — a replication and reproduction study(Springer, 2022-03-17) Maes-Bermejo, Michel; Gortázar, Francisco; Gallego, Micael; Robles, Gregorio; González-Barahona, Jesús M.Context: Building past source code snapshots of a software product is necessary both for research (analyzing the past state of a program) and industry (increasing trustability by reproducibility of past versions, finding bugs by bisecting, backporting bug fixes, among others). A study by Tufano et al. showed in 2016 that many past snapshots cannot be built. Objective: We replicate Tufano et al.’s study in 2020, to verify its results and to study what has changed during this time in terms of compilability of a project. Also, we extend it by studying a different set of projects, using additional techniques for building past snapshots, with the aim of extending the validity of its results. Method: (i) Replication of the original study, obtaining past snapshots from 79 repositories (with a total of 139,389 commits); and (ii) Reproduction of the original study on a different set of 80 large Java projects, extending the heuristics for building snapshots (300,873 commits). Results: We observed degradation of compilability over time, due to vanishing of dependencies and other external artifacts. We validated that the most influential error causing failures in builds are missing external artifacts, and the less influential is compiling errors. We observed some facts that could lead to the effect of the build tool on past compilability. Conclusions: We provide details on what aspects have a strong and a shallow influence on past compilability, giving ideas of how to improve it. We could extend previous research on the matter, but could not validate some of the previous results. We offer recommendations on how to make this kind of studies more replicable.