Máster Universitario en Ingeniería del Software: Cloud, Datos y Gestión de las Tecnologías de la Información

URI permanente para esta colecciónhttps://hdl.handle.net/11441/140397

Examinar

Envíos recientes

Mostrando 1 - 5 de 5
  • Acceso AbiertoTrabajo 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áticos
    Los 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.
  • Acceso AbiertoTrabajo 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áticos
    En 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.
  • Acceso AbiertoTrabajo 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, Daniel
    Graph 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.
  • Acceso AbiertoTrabajo 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áticos
    La 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).
  • Acceso AbiertoTrabajo 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áticos
    Security 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.