Máster en Ingeniería del Software: Cloud, Datos y Gestión TI.
URI permanente para esta colecciónhttps://hdl.handle.net/11441/164417
Examinar
Envíos recientes
Trabajo Fin de Máster Automated Fairness Testing of Large Language Models(2024) Romero Arjona, Miguel; Segura Rueda, Sergio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosAutomating the testing process for large language models (LLMs) presents a complex challenge in the field of artificial intelligence (AI). This complexity arises mainly from the nature of LLMs, which contain billions of parameters, making traditional white-box testing techniques unfeasible. Moreover, existing black-box evaluation methods fail to fully capture the diversity and complexity of real-world applications. While effective manual strategies exist, they are costly in terms of time and resources. Deploying LLMs without exhaustive evaluation can lead to significant risks, such as generating harmful and biased responses. In response to these limitations, this work proposes an automated approach for evaluating fairness in LLMs. The main goal is to develop a set of tools that leverage LLMs’ capabilities to automatically generate and evaluate test cases, thus enabling effective bias detection. This approach aims to offer a more flexible, dynamic, and scalable evaluation, adaptable to the continuous evolution of LLMs and the wide variety of contexts in which they are deployed. The proposed methodology is based on metamorphic testing, a technique that involves systematically modifying test cases to observe the impact on the model’s outputs. We present an ecosystem composed of three tools: MUSE for test case generation, GENIE for executing cases on the models under evaluation, and GUARD-ME for analyzing the outputs. These tools enable the automation of the creation, execution, and analysis of test cases, significantly reducing the time and effort required for bias detection. The proposal has been evaluated on three LLMs: Llama3, Mistral, and Gemma. The results demonstrate high effectiveness, having detected gender, sexual orientation, and religious biases in all models under test, fully automatically. In one of the tests conducted with Mistral, all biases present in the model’s responses were correctly detected, with no non-biased cases being misclassified as biased. The approach has also proven to be applicable to different models, yielding very similar results between Gemma and Mistral. In both cases, F1-scores above 0.9 were achieved, reflecting a balance between precision (the ability to avoid identifying nonbiased cases as biased) and recall (the ability to identify all present biases). Additionally, the approach is robust to the non-determinism characteristic of LLMs, showing stable results across multiple runs.Trabajo Fin de Máster Machine Learning for the refinement of orbital propagation(2024) Calderón Valdivia, José; Ayala Hernández, Daniel; Ayala Hernández, Rafael; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosLa predicción precisa de las posiciones de los satélites es fundamental para una amplia gama de aplicaciones, incluyendo comunicaciones, navegación, teledetección y planificación de misiones espaciales. Esta predicción proporciona información vital para el funcionamiento seguro y eficiente de estos sistemas. Sin embargo, predecir las trayectorias de los satélites presenta desafíos significativos debido a diversas fuerzas y perturbaciones que actúan en órbita. Actualmente, existen dos tipos principales de modelos para la predicción de posiciones satelitales: los modelos de perturbaciones simplificadas (como SGP4 y SDP4, a los que nos referiremos conjuntamente como SGDP4) y los modelos de alta precisión (como HPOP). Aunque los modelos de alta precisión son más fiables, su elevado coste computacional los hace poco prácticos para predicciones a medio o largo plazo. En la literatura existente, se han aplicado redes neuronales al campo de la predicción de trayectorias de satélites, pero estos trabajos se centran en desarrollar modelos que únicamente utilizan datos del propio satélite, sin considerar factores externos como las posiciones de los planetas o el Sol. El objetivo de este proyecto es estudiar la viabilidad de utilizar redes neuronales para mejorar la precisión del modelo SGDP4. Para ello, se analizarán diversas combinaciones posibles de datos de entrada, incluyendo la consideración o no de la velocidad del satélite, y las posiciones de los astros. Además, se explorarán diferentes arquitecturas de redes neuronales, como redes densas, redes GRU y redes residuales. También se evaluarán distintas configuraciones del modelo, como predecir coordenadas por separado o entrenar para tiempos de predicción concretos. Los resultados demostraron que la incorporación de técnicas de aprendizaje automático en la propagación orbital constituye una herramienta poderosa para mejorar la precisión y eficiencia de las predicciones orbitales. Aunque existen desafíos y limitaciones, los beneficios potenciales son considerables, indicando un camino prometedor para futuras investigaciones y aplicaciones en el campo de la dinámica orbital.Trabajo Fin de Máster LLMs aplicados a la domótica y la interacción persona-hogar(2024) Camero Borrego, Tomás; Soria Morillo, Luis Miguel; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosEste trabajo se enfoca en investigar la interacción entre los Modelos de Lenguaje a Gran Escala (LLMs) y la creciente presencia de la domótica inteligente en los hogares modernos. A través de un análisis exhaustivo y la creación de un prototipo, se explorará como los LLMs, como GPT-3.5, pueden mejorar significativamente la calidad de vida en el hogar. El propósito es demostrar cómo estos modelos pueden facilitar una comunicación más natural y efectiva con los sistemas domésticos, así como anticipar las necesidades del hogar. Este estudio no solo proporcionará una comprensión profunda del estado actual de esta convergencia tecnológica, sino que también establecerá pautas para futuras investigaciones en este campo.Trabajo Fin de Máster Pricing-driven Development and Operation of SaaS(2024) García Fernández, Alejandro; Parejo Maestre, José Antonio; Ruiz Cortés, Antonio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosThe Software as a Service (SaaS) distribution and licensing model, which delivers software in the cloud on a subscription basis, has revolutionized the IT industry by enhancing the flexibility, scalability, and economic viability of software products aimed at non-technical end-users. In this context, SaaS providers usually rely on structured pricing plans to balance user affordability with provider profitability. However, the dynamic nature of these pricing models, influenced by market conditions and competitive demands, requires frequent updates to features, usage limits, and plans in order to maintain competitiveness. The state-of-the-art addresses this challenge by dynamically configuring their SaaS systems with feature toggles, an approach that allows to perform changes in the execution flow of a system dynamically at runtime. Nonetheless, managing these toggles introduces exponential complexity and potential risks, followed by technical debt and security concerns. This project identifies and addresses the Pricing-driven Development and Operation of SaaS problem, which stems from the need to implement pricing-driven changes promptly in both the cloud infrastructure and system architecture. Given this context, this project aims to develop the most complete solution possible within the temporary budget imposed by the master’s thesis. The result is a reference architecture –coined as Pricing4SaaS– designed to automate the management of pricing-driven feature toggles along different versions of pricing structures, thereby minimizing human intervention in the process of applying such changes. By integrating real-time pricing data, the architecture enhances the system’s agility, responsiveness, and operational efficiency, ensuring secure transmission of user subscription data and maintaining system integrity. The validation of Pricing4SaaS involved integrating the solution into a Spring + React version of the PetClinic project, where the author demonstrated the power of the solution, and conducting a test within the PSG2 course of the Software Engineering major in the Computer Science degree program (Universidad de Sevilla). In this course, students implemented the architecture in their projects, showcasing the solution’s versatility, adaptability, and practical utility. Feedback and results from these validations provided significant insights and led to enhancements. Ultimately, the process confirmed that Pricing4SaaS is a practical and effective solution for managing dynamic pricing strategies in SaaS applications.Trabajo Fin de Máster Análisis automático de obligaciones y derechos en acuerdos de cliente(2023) Molino Peña, María Elena; García Rodríguez, José María; Ruiz Cortés, Antonio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosLos acuerdos de clientes están formados por un conjunto de documentos legales que recogen los términos y condiciones relacionados con la adquisición y el uso de los servicios que proporciona el proveedor. Estos son la base para proteger los intereses de las partes y actúan como un recurso esencial para remedios legales, indemnizaciones o la terminación del contrato, entre otros aspectos. A pesar de la importancia que tiene el contrato en la relación comercial entre las partes implicadas, el análisis automático del mismo es un campo de investigación que requiere una mayor exploración. Además, existe gran interés en el desarrollo de un sistema informático capaz de gestionar todo el ciclo de vida de los contratos, desde su creación hasta su finalización. La mayoría de las aproximaciones en este ámbito se dedican principalmente a la extracción automática o semiautomática de información específica de los mismos. Algunas, por otro lado, se centran en el razonamiento sobre esta información, ofreciendo respuestas a una variedad de preguntas. A pesar de los resultados prometedores de estas propuestas, la mayoría de ellas presentan limitaciones, ya sea en la técnica empleada para extraer la información o en la falta de desarrollo de un sistema fácilmente usable por las partes involucradas. En este trabajo, se propone un enfoque basado en la detección de oraciones que indican obligación o derecho para alguna de las partes involucradas en el acuerdo, así como la identificación de los responsables de cumplir con cada una de estas cláusulas detectadas. El objetivo de extraer esta información es facilitar a las partes la comprensión del acuerdo y la reflexión sobre el mismo. Para automatizar este proceso se desarrolla el sistema iCan, que mediante el uso de modelos de lenguaje grandes es capaz de identificar esta información del acuerdo. En concreto, la propuesta recibe como entrada un acuerdo en lenguaje natural y devuelve un conjunto de obligaciones, derechos y actores. La evaluación del sistema se realiza comparando los resultados obtenidos al analizar automáticamente el acuerdo a nivel de servicio de la compañía Digital Realty con diferentes herramientas. Las conclusiones derivadas de los resultados reflejan que iCan es capaz de detectar las obligaciones y derechos mejor que el modelo de lenguaje Chat GPT y el marco de trabajo desarrollado por Natalona et al. [15] en base al criterio de evaluación definido. Logrando identificar el 100 % de las obligaciones detectadas manualmente y 3 de los 4 derechos, además con una mayor precisión y exhaustividad que el resto de las aproximaciones.Trabajo Fin de Máster Desarrollo y operación de un SaaS en función del pricing(2023) Arellano Martínez, Daniel; García Rodríguez, José María; Ruiz Cortés, Antonio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosEn los últimos años, ha aumentado el uso de metodologías ágiles sobre las metodologías en cascadas o tradicionales, principalmente por la gran adaptación a cambios que existe en el entorno empresarial y, en concreto, en consultoría software. Consciente de la necesidad, se desarrolló una solución o aplicación en 2021, con el objetivo de gestionar las prácticas ágiles de una organización. Esta propuesta inicial carecía de ningún enfoque económico, por lo que se pretende rediseñar la aplicación, con el objetivo de convertirla en un producto comercialmente viable y comercializarlo a corto plazo. Para lograr este propósito, se ha implementado un modelo de pricing multiplan que consta de 3 planes diferenciados, los cuales abordan aspectos relacionados con el precio, limitaciones de capacidad y funcionalidades. Cada uno de estos, está relacionado con la viabilidad y capacidad del producto a desarrollar. Además, se ha llevado a cabo un análisis de capacidad y la determinación del coste de operación (OpEX), verificando que el pricing establecido previamente es económicamente viable para la infraestructura basada en microservicios y API Gateway en la que se encuentra desplegado el producto. Por último, indicar que se han cumplido todas las expectativas y que el producto se encuentra en fase de producción.Trabajo Fin de Máster Deep embeddings and Graph Neural Networks: can context improve domain-independent predictions?(2022) Sola Espinosa, Fernando Luis; Hernández Salmerón, Inmaculada Concepción; Ayala Hernández, DanielGraph neural networks (GNNs) are deep learning architectures that apply graph convolutions through message-passing processes between nodes, represented as embeddings. GNNs have recently become popular because of how they obtain a contextual representation of each node that takes into account the information from surrounding nodes. Existing work has focused on the development of GNN architectures, using basic domain-specific information about the nodes to compute embeddings. In the context of knowledge graphs, much effort has been put towards developing deep learning techniques to obtain node embeddings that preserve information about relationships and structure without relying on domain-specific data. The potential of the application of graph neural networks with deep embeddings of knowledge graphs remains largely unexplored. In this project, we carry out a number of experiments to answer open research questions about how said embeddings perform when using a graph neural network. We test 7 different deep embeddings across several attribute prediction tasks in two attribute-rich datasets. We conclude that there is a significant performance improvement but it varies heavily depending on the task and deep embedding technique. Given the interest of the results obtained, we have submitted an article to the conference CIKM’22, and we have defined some tasks and future work in order to continue this study in the form of a PhD.Trabajo Fin de Máster Generación automática de oráculos de prueba para APIs REST(2022) Alonso Valenzuela, Juan Carlos; Segura Rueda, Sergio; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosLa generación automática de casos de prueba para APIs RESTful es un área de investigación en auge, dado el rol que desempeñan en la integración software. La mayoría de las propuestas en este ámbito siguen un enfoque de caja negra, en el que los casos de prueba se generan automáticamente a partir de la especificación de la API. A pesar de los prometedores resultados de estas propuestas, todas se encuentran limitadas por los tipos de errores que pueden detectar: fallos de servidor no controlados (etiquetados con un código 500) y disconformidades con la especificación de la API. La falta de técnicas para la detección de errores específicos del dominio de cada API supone una importante limitación para el grado de automatización obtenido por estas herramientas. En este trabajo, se propone un enfoque basado en la detección de invariantes (i.e., propiedades que siempre se cumplen en uno o más puntos de la ejecución de un programa) para automatizar el proceso de generación de oráculos de prueba, que pueden ser utilizados para la creación de assertions. En concreto, la propuesta recibe como entrada la especificación de la API y un conjunto de pruebas generadas automáticamente (para las que se conocen únicamente los valores de las entradas y la salida devuelta) y devuelve un conjunto de invariantes que pueden ser utilizados como oráculos. Los resultados obtenidos en una evaluación realizada sobre un conjunto de 8 operaciones de 6 APIs comerciales muestran la capacidad de la propuesta para generar cientos de oráculos válidos, llegando a obtener una precisión del 100 % (y una precisión total del 66.5 %) y detectando un total de 6 bugs replicables en 4 operaciones pertenecientes a 3 sistemas con millones de usuarios (Amadeus Hotel, GitHub y OMDb).Trabajo Fin de Máster Análisis de vulnerabilidades en las dependencias de proyectos de desarrollo software(2022) Márquez Trujillo, Antonio Germán; Galindo Duarte, José Ángel; Benavides Cuevas, David Felipe; Universidad de Sevilla. Departamento de Lenguajes y Sistemas InformáticosSecurity has become a crucial factor in the development of software systems. The number of dependencies in software systems is becoming a source of countless bugs and vulnerabilities. Due to the scalability in the number of dependencies and their versions, i.e., the variability within dependencies, the developer of a software system cannot analyze it manually. In the past, the software product line community proposed several techniques and mechanisms to cope with the problems that arise when dealing with variability and dependency management in such systems. In this memory, we present a solution that allows automated dependency analysis for vulnerabilities within software projects based on techniques from the software product line community. Our solution first inspects the software dependencies and their available versions, then generates a graph of dependencies, each with their available versions and to which security-related information is subsequently attributed. In other words, vulnerabilities or CVEs (Common Vulnerabilities and Exposures) are the formal and centralized way for the cybersecurity community to represent the information on a vulnerability, the systems it affects, whether it can be exploited, and the severity or impact it has. The systems involved are specified in a list of CPEs (Common Platform Enumeration - CPE) within the CVE, which are diagrams with information about the affected systems. And the impact is defined based on the CVSS (Common Vulnerability Scoring System), which is a standard system for scoring the impact or severity of a vulnerability on a range from 0 to 10. This is done by making use of the Vulnerabilities Data Base (VDB), which is a repository of data on vulnerabilities discovered and cataloged to date. Then, it is translated into a formal model, in this case, based on the Satisfiability Modulo Theories (SMT). This allows us to transform a model, in this case the dependency graph, into a Boolean satisfiability problem using propositional logic that we can reason about and analyse. To this end, we design a set of analysis and reasoning operations on these problems that allow us to extract useful information about the set of vulnerabilities of the project’s configuration space, that is, the set of dependencies with their associated versions. As well as information for advice on the security risk of these projects and their possible configurations, allowing the developer to automatically perceive this information which would be very time consuming if done manually. We also compared our solution with others on the market, in which we observed that our solution can detect more vulnerabilities in the dependencies in different projects.