Navegación

Búsqueda

Búsqueda avanzada

El autor Claudio De La Riva ha publicado 13 artículo(s):

1 - 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

2 - 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

3 - Modelo de costes para el despliegue de pruebas E2E en entornos Cloud

La ejecución de pruebas de sistema puede requerir grandes cantidades de recursos físico-lógicos al necesitar todo el sistema para su ejecución. Ejecutarlas en la infraestructura potencialmente limitada y escalable del Cloud, permite obtener un mejor coste, eligiendo entre las distintas infraestructuras disponibles. No obstante, es habitual que la ejecución de las pruebas no use totalmente los objetos contratados por lo que no todo el coste es usado. En este trabajo se detalla un modelo de coste que tiene en cuenta los recursos que requieren las pruebas de sistema en el Cloud. El modelo divide el coste de la infraestructura (el coste de los objetos contratados) en el coste del plan de ejecución (el coste de los distintos recursos requeridos por las pruebas) y sobresuscripción (el coste de la infraestructura que no utilizada). Con el modelo se pueden comparar diferentes combi-naciones de objetos en el Cloud, no solo con el coste de la infraestructura (con-tratado) sino que se puede elegir que objetos se contratan y cómo se usan atendiendo al coste del plan de ejecución (usado) y de sobresuscripción (no usado).

Autores: Cristian Augusto Alonso / Jesús Morán / Claudio De La Riva / Javier Tuya / 
Palabras Clave: Cloud Computing - Modelo de Costes - Pruebas de sistema

4 - 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

5 - 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

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 - Modelo de defectos dirigido por consultas para aplicaciones de bases de datos orientadas a grafos

Las bases de datos NoSQL, cada vez más presentes en las aplicaciones actua-les, plantean nuevos retos en las pruebas de dichas aplicaciones, debido a la ausencia de un esquema explícito en la base de datos. Este trabajo presenta un modelo de defectos para aplicaciones que utilizan bases de datos orientadas a grafos, que ha sido elaborado considerando tres factores que afectan a la escri-tura de las consultas y la relación existente entre ellos: la propia consulta, el modelo conceptual y los datos almacenados en la base de datos. Este modelo de defectos define una serie de escenarios de defectos que identifican cuáles de estos factores deben ser corregidos.

Autores: Raquel Blanco / Javier Tuya / Claudio de la Riva / 
Palabras Clave: Cypher - modelo conceptual - modelo de defectos - Neo4j - Pruebas sobre bases de datos orientadas a grafos

9 - 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

10 - 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

11 - 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

12 - Pruebas de mutación para patrones de consultas Cypher

Probar aplicaciones que acceden a la base de datos orientada a grafos Neo4j utilizando su lenguaje de consulta Cypher supone nuevos retos debido a sus características distintivas respecto a una base de datos relacional. En este trabajo se definen un conjunto de operadores de mutación diseñados a partir de un modelo de defectos, que considera una tipología de defectos derivada de los patrones de las consultas Cypher. Además de operadores de mutación sintácticos, se han elaborado operadores de mutación semánticos, que utilizan la información de un modelo conceptual para generar los mutantes.

Autores: Raquel Blanco / Claudio De La Riva / Javier Tuya / 
Palabras Clave: Cypher - modelo de defectos - Neo4j - operadores de mutación - pruebas de mutación - Pruebas sobre bases de datos orientadas a grafos

13 - 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