Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Generación automática de casos de prueba mediante modelos de lenguaje (LLM)

dc.contributor.advisorRequeno Jarabo, José Ignacio
dc.contributor.advisorGómez Martínez, María Elena
dc.contributor.authorBarahona Cánovas, Ismael
dc.contributor.authorContreras Gordo, Gonzalo
dc.date.accessioned2024-09-02T16:15:26Z
dc.date.available2024-09-02T16:15:26Z
dc.date.issued2024
dc.degree.titleGrado en Ingeniería Informática
dc.descriptionTrabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2023/2024. El trabajo realizado se puede consultar en el siguiente directorio de Github: https://github.com/TGF-2023-24/testing-ai/tree/pruebas
dc.description.abstractEste trabajo de fin de grado tiene por objetivo la generación de casos de prueba de forma automática, empleando modelos de lenguaje. Los casos de prueba deben respetar el criterio de cobertura métrica MC/DC (Condición Modificada/Cobertura de Decisión), una subclase de cobertura de código para bloques condicionales if-then-else. Esta estructura extiende la cobertura de decisión y condición, exigiendo que cada condición debe afectar independientemente en la decisión, es decir que enseña cómo todas las entradas dadas afectan de forma independiente a la salida de una expresión lógica. Este TFG extiende trabajos anteriores. Concretamente, se ha actualizado y empaquetado un motor heurístico preexistente para la generación de casos de prueba conforme al criterio MC/DC en una biblioteca de Python. Posteriormente se ha añadido a esa biblioteca un segundo generador de casos de prueba para el criterio MC/DC basado en un modelo de lenguaje. Por último, se ha integrado la biblioteca de generación de casos de prueba en un plugin para el entorno de desarrollo Visual Studio Code para facilitar su uso por parte de los programadores. La herramienta permite generar casos de prueba para maximizar la cobertura MC/DC de un código en Python. Gracias a su modularidad, esta herramienta se podrá extender en el futuro para soportar otros lenguajes de programación y criterios de cobertura.
dc.description.abstractThis undergraduate thesis aims to automatically generate test cases using language models. The test cases must adhere to the MC/DC (Modified Condition/Decision Coverage) metric criterion, a subclass of code coverage for if-then-else conditional blocks.This structure extends decision and condition coverage by requiring that each condition must independently affect the decision. This means it demonstrates how all given inputs independently affect the output of a logical expression. This thesis builds upon previous work. Specifically, we have updated and packaged a pre-existing heuristic engine for generating test cases according to the MC/DC criterion into a Python library. Subsequently, we added a second test case generator to this library for the MC/DC criterion based on a language model. Finally, we integrated the test case generation library into a plugin for the Visual Studio Code development environment to facilitate its use by programmers. The tool allows for the generation of test cases to maximize MC/DC coverage of Python code. Thanks to its modularity, our tool can be extended in the future to support other programming languages and coverage criteria.
dc.description.departmentDepto. de Sistemas Informáticos y Computación
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.identifier.relatedurlhttps://github.com/TGF-2023-24/testing-ai/tree/pruebas
dc.identifier.urihttps://hdl.handle.net/20.500.14352/107826
dc.language.isospa
dc.page.total87
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subject.cdu004(043.3)
dc.subject.keywordMC/DC
dc.subject.keywordCasos de prueba
dc.subject.keywordAutomatización
dc.subject.keywordLLM
dc.subject.keywordExpresión booleana
dc.subject.keywordCobertura de decisión
dc.subject.keywordVisual Studio Code
dc.subject.keywordExtensión
dc.subject.keywordInteligencia artificial
dc.subject.keywordTest cases
dc.subject.keywordAutomation
dc.subject.keywordBoolean expression
dc.subject.keywordDecision coverage
dc.subject.keywordCondition coverage
dc.subject.keywordVisual Studio Code
dc.subject.keywordExtension
dc.subject.keywordArtificial intelligence
dc.subject.ucmInformática (Informática)
dc.subject.unesco33 Ciencias Tecnológicas
dc.titleGeneración automática de casos de prueba mediante modelos de lenguaje (LLM)
dc.title.alternativeAutomatic test case generation using large language models (LLM)
dc.typebachelor thesis
dc.type.hasVersionAM
dspace.entity.typePublication
relation.isAdvisorOfPublication12ebba1d-ac38-46cd-9300-7fde3dffb3a8
relation.isAdvisorOfPublicationbe534b31-8ef1-4def-b6d7-ecbf51d47cfa
relation.isAdvisorOfPublication.latestForDiscovery12ebba1d-ac38-46cd-9300-7fde3dffb3a8

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Generacion_automatica_casos_de_prueba_TFG.pdf
Size:
1.07 MB
Format:
Adobe Portable Document Format
Description:
Generación automática de casos de prueba mediante modelos de lenguaje (LLM)