Navegación

Búsqueda

Búsqueda avanzada

El autor Claudio de La Riva ha publicado 10 artículo(s):

1 - Pruebas basadas en flujo de datos para programas MapReduce

MapReduce es un paradigma de procesamiento masivo de información. Estos programas realizan varias transformaciones de los datos hasta que se obtiene la salida representando la lógica de negocio del programa. En este artículo se elabora una técnica de prueba basada en data flow y que deriva las pruebas a partir de las transformaciones que ocurren en el programa. Se muestran resultados de la ejecución de los casos de prueba derivados de la aplicación de la técnica, los cuales permiten detectar algunos defectos.

Autores: Jesús Morán / Claudio de la Riva / Javier Tuya / 
Palabras Clave: MapReduce - pruebas data flow - Pruebas de Software

2 - Pruebas funcionales en programas MapReduce basadas en comportamientos no esperados

MapReduce es un paradigma de programación que permite el procesamiento paralelo de grandes cantidades de datos. Los programas MapReduce se suelen ejecutar sobre el framework Hadoop, el cual no garantiza que se ejecuten siempre en las mismas condiciones, pudiendo producir comportamientos no esperados desde el punto de vista de su funcionalidad. En este artículo se analizan y describen diferentes tipos de defectos específicos que pueden estar presentes en programas MapReduce sobre Hadoop y se muestra cómo se pueden derivar casos de prueba que permiten la detección de dichos defectos. Lo anterior se ilustra sobre varios programas de ejemplo.

Autores: Jesús Morán / Claudio de la Riva / Javier Tuya / 
Palabras Clave: big data - Hadoop - MapReduce - Pruebas de Software

4 - Coverage-Aware Test Database Reduction

Functional testing of applications that process the information stored in databases often requires a careful design of the test database. The larger the test database, the more difficult it is to develop and maintain tests as well as to load and reset the test data. This paper presents an approach to reduce a database with respect to a set of SQL queries and a coverage criterion. The reduction procedures search the rows in the initial database that contribute to the coverage in order to find a representative subset that satisfies the same coverage as the initial database. The approach is automated and efficiently executed against large databases and complex queries. The evaluation is carried out over two real life applications and a well-known database benchmark. The results show a very large degree of reduction as well as scalability in relation to the size of the initial database and the time needed to perform the reduction. — Datos del artículo — Autores: Javier Tuya, Claudio de la Riva, María José Suárez-Cabal, Raquel Blanco Revista: IEEE Transactions on Software Engineering Year: 2016, Volume: 42, Issue: 10 Pages: 941 – 959, DOI: 10.1109/TSE.2016.2519032 Factor de impacto (JCR 2005): 1,516, Q1 in Computer Science, Software engineering — Nota — Artículo para track Requisitos, Calidad y Pruebas, enviado a otros por conflicto de interés

Autores: Javier Tuya / Claudio de La Riva / María José Suárez-Cabal / Raquel Blanco / 
Palabras Clave: Test coverage of code - Test database reduction - Test design - Testing tools

5 - Localización de defectos en aplicaciones MapReduce

Los programas que analizan grandes cantidades de datos suelen ejecutarse en entornos distribuidos, tal y como ocurre con las aplicaciones MapReduce. Estos programas se desarrollan independientemente de la infraestructura sobre que la que se ejecutan, ya que un framework gestiona automáticamente la asignación de recursos y gestión de fallos, entre otros. Detectar y localizar defectos en estos programas suele ser una tarea compleja ya que diversas funciones se ejecutan simultáneamente en una infraestructura distribuida, difícil de controlar y que cambia continuamente. En este artículo se describe una técnica que, a partir de un fallo detectado en las pruebas, localiza defectos de diseño analizando dinámicamente los parámetros que lo causan.

Autores: Jesús Morán / Claudio De La Riva / Javier Tuya / Bibiano Rivas García / 
Palabras Clave: Big Data Engineering - Localización de defectos - MapReduce - Pruebas del software

6 - Mantenimiento de la Consistencia Lógica en Cassandra

A diferencia de las bases de datos relacionales, en bases de datos NoSQL como Cassandra es muy común que exista duplicidad de los datos en diferentes tablas. Esto es debido a que, normalmente, las tablas son diseñadas en base a las consul-tas y a la ausencia de relaciones entre ellas para primar el rendimiento en las con-sultas. Por tanto, si los datos no se actualizan convenientemente, se pueden pro-ducir inconsistencias en la información almacenada. Es relativamente fácil intro-ducir defectos que originan inconsistencia de datos en Cassandra, sobre todo du-rante la evolución de un sistema en el que se crean nuevas tablas, y éstos son difí-ciles de detectar utilizando técnicas convencionales de pruebas dinámicas. El desarrollador es quien debe preocuparse de mantener esta consistencia incluyendo y actualizando los procedimientos adecuados. Este trabajo propone un enfoque preventivo a estos problemas, estableciendo los procesos necesarios para asegu-rar la calidad de los datos desde el punto de vista de su consistencia, facilitando así las tareas del desarrollador. Estos procesos incluyen: (1) un análisis estático considerando el modelo conceptual, las consultas y el modelo lógico de la aplica-ción, para identificar qué elementos (tablas o columnas) de la base de datos se ven afectados por un cambio, y (2) la determinación y ejecución de las operaciones que aseguren la consistencia de la información.

Autores: Pablo Suárez-Otero / Javier Gutierrez / Claudio de La Riva / Javier Tuya / 
Palabras Clave: Apache Cassandra - Consistencia Lógica - Pruebas Estáticas

7 - ARTICULO RELEVANTE:Incremental test data generation for database queries

Título: Incremental test data generation for database queriesAutores: María José Suárez-Cabal, Claudio de la Riva, Javier Tuya, Raquel BlancoRevista de publicación: Automated Software EngineeringNúmero, mes y año de la publicación: 24(4), Diciembre 2017Páginas: 719-755DOI: 10.1007/s10515-017-0212-7Indicios de calidad: Factor de impacto: 2.625 (JCR, 2016) Número de citas: 2 [1] R. Blanco and J. Tuya, «Modelling Test Views for Graph Database Applications», IEEE Latin America Transactions, vol. 15, no. 7, pp. 1312-1317, 2017. doi: 10.1109/TLA.2017.7959352 [2] W. Castelein, M. Aniche, M. Soltani, A. Panichella, A. Deursen, «Search-Based Test Data Generation for SQL Queries», Proceedings of the 40th International Conference on Software Engineering (ICSE 2018)

Autores: María José Suárez-Cabal / Claudio De La Riva / Javier Tuya / Raquel Blanco / 
Palabras Clave: Constraint satisfaction problem (CSP) - Database testing - Software Testing - Test coverage - Test database generation

8 - Automatización de la localización de defectos en el diseño de aplicaciones MapReduce

Los programas MapReduce analizan grandes cantidades de datos sobre una infraestructura distribuida. En cambio, estos programas pueden desarrollarse independientemente de la infraestructura ya que un framework gestiona automáticamente la asignación de recursos y la gestión de fallos. Una vez que se detecta un defecto, suele ser complicado localizar su causa raíz ya que diversas funciones se ejecutan simultáneamente en una infraestructura distribuida que cambia continuamente y que es difícil tanto de controlar como depurar. En este artículo se describe una técnica que, a partir de un caso de prueba que produce fallo, localiza su causa raíz analizando dinámicamente las características del diseño que se cubren cuando se produce fallo y aquellas que no.

Autores: Jesús Morán / Claudio De La Riva / Javier Tuya / 
Palabras Clave: Localización de defectos - MapReduce - Pruebas del software

9 - Anonimización de datos guiada por pruebas para aplicaciones inteligentes

En la actualidad gran cantidad de datos son compartidos para su uso, tratamiento o análisis entre empresas y terceros. Es habitual que estos datos tengan que ser protegidos con diferentes técnicas de preservación de la privacidad para dar cumplimiento a las leyes y regulaciones. Una de las técnicas más comunes es la anonimizacion que, aunque provee de privacidad a los datos, presenta como efecto colateral la perdida de información. Esta pérdida de información puede afectar negativamente al comportamiento de aquellos desarrollos altamente dependientes de dichos datos como son las aplicaciones inteligentes. Para abordar este problema, proponemos un enfoque guiado por pruebas para seleccionar el conjunto de datos anonimizado que mantenga un compromiso entre la calidad no funcional (privacidad) y la funcional (utilidad). Para ello se alimenta a las aplicaciones con los datos anonimizados para que tomen los patrones de comportamiento de estos, y seguidamente validar las predicciones con los datos originales, midiendo así su calidad funcional. Dicha calidad junto con la no funcional (privacidad), es ponderada según los criterios de usuario con el fin de alcanzar el punto de compromiso entre ambas características de calidad

Autores: Cristian Augusto Alonso / Jesús Morán / Claudio de la Riva / Javier Tuya / 
Palabras Clave: Anonimización - Aplicaciones Inteligentes - Privacidad - Pruebas de Software

10 - Automatic Testing of Design Faults in MapReduce Applications

New processing models are being adopted in Big Data engineering to overcome the limitations of traditional technology. Among them, MapReduce stands out by allowing for the processing of large volumes of data over a distributed infrastructure that can change during runtime. The developer only designs the functionality of the program and its execution is managed by a distributed system. As a consequence, a program can behave differently at each execution because it is automatically adapted to the resources available at each moment. Therefore, when the program has a design fault, this could be revealed in some executions and masked in others. However, during testing, these faults are usually masked because the test infrastructure is stable, and they are only revealed in production because the environment is more aggressive with infrastructure failures, among other reasons. This paper proposes new testing techniques that aimed to detect these design faults by simulating different infrastructure configurations. The testing techniques generate a representative set of infrastructure configurations that as whole are more likely to reveal failures using random testing, and partition testing together with combinatorial testing. The techniques are automated by using a test execution engine called MRTest that is able to detect these faults using only the test input data, regardless of the expected output. Our empirical evaluation shows that MRTest can automatically detect these design faults within a reasonable time.

Autores: Jesús Morán / Antonia Bertolino / Claudio De La Riva / Javier Tuya / 
Palabras Clave: big data - Combinatorial Testing - MapReduce - metamorphic testing - partition testing - random testing - Software Testing