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
 

Computación cuántica: pruebas de mutación

dc.contributor.advisorNúñez García, Manuel
dc.contributor.advisorGarcía Merayo, María de las Mercedes
dc.contributor.authorAguirre Galindo, Luis
dc.contributor.authorPellejero Ortega, Javier
dc.date.accessioned2023-06-17T10:50:44Z
dc.date.available2023-06-17T10:50:44Z
dc.date.defense2020
dc.date.issued2020
dc.degree.titleDoble Grado en Ingeniería Informática y Matemáticas
dc.descriptionTrabajo de Fin de Grado del Doble Grado en Ingeniería Informática y Matemáticas, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2019/2020.
dc.description.abstractA lo largo de la última década, la computación cuántica ha ido ganando protagonismo en el campo científico. Con ello, han surgido multitud de herramientas enfocadas a este nuevo área y lenguajes de programación de naturaleza cuántica. A su vez, en una sociedad tan tecnológica como la actual, la comprobación del correcto funcionamiento del software desarrollado se ha convertido en una necesidad imperiosa. De esta forma aparece todo un ámbito de la Ingeniería del Software dedicado a cubrir esta necesidad: Testing de Software. Así, surge la idea de tomar una de las técnicas más importantes de este campo, el mutation testing, y tratar de trasladarla al mundo cuántico aplicándola a dos de los lenguajes de computación cuántica más relevantes en el momento: Q# y Qiskit. Para ello, se ha desarrollado un sistema en Java que recibe código de estos dos lenguajes y aplica mutation testing. Además, si bien en la versión actual sólo se puede ejecutar código de Q# y Qiskit, el sistema ha sido desarrollado bajo la premisa de poder añadir otros lenguajes cuánticos en el futuro. A lo largo de este trabajo se explicarán con detalle las nociones más importantes de la computación cuántica, así como de la disciplina del testing, haciendo especial énfasis en las pruebas de mutación. También se detalla la planificación seguida para la fase de desarrollo, así como la estructura y el funcionamiento interno del programa. Por último, se muestra la ejecución del programa para uno de los algoritmos cuánticos más importantes: el algoritmo de Deutsch-Jozsa.
dc.description.abstractOver the last decade, Quantum Computing has been gaining prominence in the scientific field. With this, a full spectrum of tools focusing on this new area and programming languages of a quantum nature have emerged. At the same time, in a society as technological as the current one, the validation of the correct bevaviour of the developed software has become a must. In this way, a whole area of Software Engineering is devoted to covering this need: Software Testing. Thus, the idea arises of taking one of the most important tools of testing, mutation testing, and trying to transfer it to the quantum world in order to apply it to two of the most relevant quantum computing languages: Q# and Qiskit. To do this, a system has been developed, using Java, that allows us to take code from both languages and apply mutation testing. Furthermore, although in the current version it is only possible to execute code of Q# and Qiskit, the system has been developed under the premise of being able to add other quantum languages in the future. Throughout this work, the most important notions of Quantum Computing will be explained in detail, as well as the discipline of testing, with special emphasis on mutation testing. The planning followed for the development phase is also detailed, as well as the structure and internal functioning of the program. Finally, the execution of the program for one of the most important quantum algorithms is shown: the Deutsch-Jozsa algorithm.
dc.description.departmentDepto. de Sistemas Informáticos y Computación
dc.description.facultyFac. de Informática
dc.description.refereedTRUE
dc.description.statusunpub
dc.eprint.idhttps://eprints.ucm.es/id/eprint/61617
dc.identifier.urihttps://hdl.handle.net/20.500.14352/10173
dc.language.isospa
dc.page.total76
dc.rightsAtribución-NoComercial 3.0 España
dc.rights.accessRightsopen access
dc.rights.urihttps://creativecommons.org/licenses/by-nc/3.0/es/
dc.subject.cdu004(043.3)
dc.subject.keywordComputación cuántica
dc.subject.keywordTesting cuántico
dc.subject.keywordPruebas de mutación
dc.subject.keywordMicrosoft Q#
dc.subject.keywordIBM Qiskit
dc.subject.keywordHerramienta Java.
dc.subject.keywordQuantum Computing
dc.subject.keywordQuantum testing
dc.subject.keywordMutation testing
dc.subject.keywordJava tool.
dc.subject.ucmInformática (Informática)
dc.subject.unesco1203.17 Informática
dc.titleComputación cuántica: pruebas de mutación
dc.title.alternativeQuantum computing: mutation testing
dc.typebachelor thesis
dspace.entity.typePublication
relation.isAdvisorOfPublication26825d32-1d0a-4bbb-b145-e014e22f1a88
relation.isAdvisorOfPublication.latestForDiscovery26825d32-1d0a-4bbb-b145-e014e22f1a88

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
AGUIRRE_GALINDO_Computacion_Cuantica_Pruebas_de_Mutacion_4398577_174863 (1).pdf
Size:
1.27 MB
Format:
Adobe Portable Document Format