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...
| Autor: | |
|---|---|
| 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 |