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
 

Random testing basado en lógica temporal para Apache Flink

dc.contributor.advisorRiesco Rodríguez, Adrián
dc.contributor.advisorMartín Martín, Enrique
dc.contributor.authorEspinosa Victoria, Cristina Valentina
dc.date.accessioned2023-06-17T14:24:43Z
dc.date.available2023-06-17T14:24:43Z
dc.date.issued2019
dc.descriptionFacultad de Informática, Departamento de Sistemas Informáticos y Computación, Universidad Complutense de Madrid. Curso 2018/2019. El código de la aplicación está disponible en: https://github.com/Valcev/TFM
dc.description.abstractActualmente, existen muy pocas alternativas para probar los sistemas de stream processing, consistiendo la mayoría de ellas en tests de unidad, los cuales no son viables en casos en los que se requiera disponer de una gran cantidad de streams o streams de gran longitud, ya que es necesario definir cada stream de entrada y el esperado de salida. Es por esto que surgió la idea de implementar un programa que pueda aplicar random testing, una técnica de testing basada en propiedades en lugar de en coberturas, a uno de estos sistemas de stream processing, incorporando además propiedades de lógica temporal. Además, ha sido empíricamente demostrado que el random testing funciona igual o incluso mejor que las técnicas de cobertura, lo que inclina la balanza a favor de esta técnica de testing. En este trabajo presentamos una herramienta para realizar testing basado en propiedades para Apache Flink, un sistema de stream processing capaz de procesar datos a tiempo real. Esto significa que Flink trata los datos a medida que van siendo generados y en el momento en que son recibidos. Para desarrollar esta herramienta se ha utilizado el lenguaje Scala y la técnica de random testing combinada con lógica temporal. Ya existe un entorno con la misma filosofía que el aquí presentado dirigido a Spark Streaming, Sscheck. Sin embargo, Spark maneja lotes y no tiene, por tanto, tiempo real. Por ello, el objetivo de este proyecto es implementar ese mismo programa pero adaptado para trabajar con Apache Flink, aunque presenta diferentes problemas, como menor flexibilidad en el tratamiento de los datos.
dc.description.abstractNowadays, there are very few alternatives for stream processing systems testing, most of them consisting of unit tests, which are not viable when it is required a large number of streams or very long streams, because it is necessary to define every stream received as input and every stream expected as corresponding output. Because of this situation, the idea of implementing a program that can use random testing, a testing technique based in properties instead of coverage, with one of these processing systems, came up, also adding temporal logic properties. Furthermore, it has been empirically proved that random testing works as well as, or even better than, coverage techniques, something that makes the choice of using this technique even more attractive. In this Master’s Thesis we present a property-based testing tool for Apache Flink, a stream processing system capable of processing data in real time. This means that Flink treats data as it is generated and as it is received. To develop this tool we have used the Scala language and random testing techniques combined with temporal logic. There exists an environment with the same philosophy as the one presented here applied to Spark Streaming, Sscheck. However, Spark handles batches and therefore has no real time. Therefore, the aim of this project is to implement the same program but adapted to Apache Flink. It presents different problems, such as less flexibility in data processing.
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/51616
dc.identifier.urihttps://hdl.handle.net/20.500.14352/14286
dc.language.isospa
dc.master.titleMáster en Ingeniería Informática
dc.page.total75
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.keywordApache Flink
dc.subject.keywordLógica temporal
dc.subject.keywordEntornos distribuidos
dc.subject.keywordBig Data
dc.subject.keywordRandom testing
dc.subject.keywordScala
dc.subject.keywordStream processing
dc.subject.keywordTiempo real
dc.subject.keywordTemporal logic
dc.subject.keywordDistributed environments
dc.subject.keywordReal time
dc.subject.ucmInformática (Informática)
dc.subject.unesco1203.17 Informática
dc.titleRandom testing basado en lógica temporal para Apache Flink
dc.title.alternativeRandom testing based on temporal logic for Apache Flink
dc.typemaster thesis
dspace.entity.typePublication
relation.isAdvisorOfPublication068dda11-d320-4634-a908-28a4bc4b0eb4
relation.isAdvisorOfPublication8c7dbac8-1093-454e-a0cf-e7b2f316cf09
relation.isAdvisorOfPublication.latestForDiscovery068dda11-d320-4634-a908-28a4bc4b0eb4

Download

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TFM_CristinaValentina_EspinosaVictoria.pdf
Size:
1.57 MB
Format:
Adobe Portable Document Format