Random testing basado en lógica temporal para Apache Flink

Actualmente, 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 c...

Descripción completa

Detalles Bibliográficos
Autor: Espinosa Victoria, Cristina Valentina
Tipo de recurso: tesis de maestría
Fecha de publicación:2019
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:español
OAI Identifier:oai:docta.ucm.es:20.500.14352/14286
Acceso en línea:https://hdl.handle.net/20.500.14352/14286
Access Level:acceso abierto
Palabra clave:Apache Flink
Lógica temporal
Entornos distribuidos
Big Data
Random testing
Scala
Stream processing
Tiempo real
Temporal logic
Distributed environments
Real time
Informática (Informática)
1203.17 Informática
id ES_59e815eaf67b288a42dd7d89b7eda721
oai_identifier_str oai:docta.ucm.es:20.500.14352/14286
network_acronym_str ES
network_name_str España
repository_id_str
spelling Random testing basado en lógica temporal para Apache FlinkRandom testing based on temporal logic for Apache FlinkEspinosa Victoria, Cristina ValentinaApache FlinkLógica temporalEntornos distribuidosBig DataRandom testingScalaStream processingTiempo realTemporal logicDistributed environmentsReal timeInformática (Informática)1203.17 InformáticaActualmente, 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.Riesco Rodríguez, AdriánMartín Martín, EnriqueUniversidad Complutense de Madrid20192019-01-0120192019-01-01master thesishttp://purl.org/coar/resource_type/c_bdccinfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/20.500.14352/14286reponame:Docta Complutenseinstname:Universidad Complutense de Madrid (UCM)Españolspaopen accesshttp://purl.org/coar/access_right/c_abf2Atribución-NoComercial 3.0 Españahttps://creativecommons.org/licenses/by-nc/3.0/es/info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/142862026-06-02T12:44:21Z
dc.title.none.fl_str_mv Random testing basado en lógica temporal para Apache Flink
Random testing based on temporal logic for Apache Flink
title Random testing basado en lógica temporal para Apache Flink
spellingShingle Random testing basado en lógica temporal para Apache Flink
Espinosa Victoria, Cristina Valentina
Apache Flink
Lógica temporal
Entornos distribuidos
Big Data
Random testing
Scala
Stream processing
Tiempo real
Temporal logic
Distributed environments
Real time
Informática (Informática)
1203.17 Informática
title_short Random testing basado en lógica temporal para Apache Flink
title_full Random testing basado en lógica temporal para Apache Flink
title_fullStr Random testing basado en lógica temporal para Apache Flink
title_full_unstemmed Random testing basado en lógica temporal para Apache Flink
title_sort Random testing basado en lógica temporal para Apache Flink
dc.creator.none.fl_str_mv Espinosa Victoria, Cristina Valentina
author Espinosa Victoria, Cristina Valentina
author_facet Espinosa Victoria, Cristina Valentina
author_role author
dc.contributor.none.fl_str_mv Riesco Rodríguez, Adrián
Martín Martín, Enrique
Universidad Complutense de Madrid
dc.subject.none.fl_str_mv Apache Flink
Lógica temporal
Entornos distribuidos
Big Data
Random testing
Scala
Stream processing
Tiempo real
Temporal logic
Distributed environments
Real time
Informática (Informática)
1203.17 Informática
topic Apache Flink
Lógica temporal
Entornos distribuidos
Big Data
Random testing
Scala
Stream processing
Tiempo real
Temporal logic
Distributed environments
Real time
Informática (Informática)
1203.17 Informática
description Actualmente, 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.
publishDate 2019
dc.date.none.fl_str_mv 2019
2019-01-01
2019
2019-01-01
dc.type.none.fl_str_mv master thesis
http://purl.org/coar/resource_type/c_bdcc
dc.type.openaire.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.14352/14286
url https://hdl.handle.net/20.500.14352/14286
dc.language.none.fl_str_mv Español
spa
language_invalid_str_mv Español
language spa
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial 3.0 España
https://creativecommons.org/licenses/by-nc/3.0/es/
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial 3.0 España
https://creativecommons.org/licenses/by-nc/3.0/es/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Docta Complutense
instname:Universidad Complutense de Madrid (UCM)
instname_str Universidad Complutense de Madrid (UCM)
reponame_str Docta Complutense
collection Docta Complutense
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869408658732875776
score 15.300724