Autor:
Segura Rueda, Sergio

Cargando...
Foto de perfil

E-mails conocidos

sergiosegura@us.es

Fecha de nacimiento

Proyectos de investigación

Unidades organizativas

Puesto de trabajo

Apellidos

Segura Rueda

Nombre de pila

Sergio

Nombre

Nombres alternativos

Segura, Sergio

Afiliaciones conocidas

Universidad de Sevilla, Spain
University of Seville
Department of Computer Languages and Systems
Dpto. de Lenguajes y Sistemas Informáticos, Universidad de Sevilla
Departamento de Ingeniería Informática, Universidad de Sevilla
SCORE Lab, I3US Institute, Universidad de Sevilla, Spain
University of Seville, Spain
Universidad de Sevilla
Página completa del ítem
Notificar un error en este autor

Resultados de la búsqueda

Mostrando 1 - 10 de 15
  • Artículo
    Toward Dependency-Aware API Gateways
    Barakat, Saman; Sánchez Jerez, Ana Belén; Segura Rueda, Sergio. Actas de las XVIII Jornadas de Ingeniería de Ciencia e Ingeniería de Servicios (JCIS 2023), 2023-09-12.
    Web APIs often include inter-parameter dependencies that constrain how input parameters can be combined to form valid calls to the service. API requests violating one or more of these dependencies result in an unnecessary exchange of messages, causing a waste of time and user quota. Also, dependencies are often not correctly checked by the servers, resulting in critical failures or uninformative error responses. In this paper, we propose extending API gateways to support the detection and explanation of inter-parameter dependencies violations. To achieve this goal, we leveraged IDL4OAS, an OAS extension for describing the dependencies among input parameters in web APIs, and IDLReasoner, a constraint-based IDL reasoner. Both were integrated into a prototype tool using Spring Cloud Gateway. Preliminary evaluation results on five industrial API operations show that our approach can successfully detect and explain all invalid requests, reducing the response time by around 80.31% and minimizing potential input validation failures.
  • Artículo
    Pruebas de APIs REST guiadas por Aprendizaje Activo
    Mirabella, A. Giuliano; Martín-López, Alberto; Segura Rueda, Sergio; Valencia Cabrera, Luis; Ruiz Cortés, Antonio. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.
    La generación automática de casos de prueba para APIs REST es un tema de investigación muy activo. La mayoría de técnicas emplean un enfoque de caja negra basado en la generación aleatoria de peticiones a partir de la especificación de la API. Dichas técnicas tienen una limitación importante: ignoran las dependencias inter-parámetro (restricciones entre parámetros que se deben cumplir para que la petición a la API sea válida), ya que no están soportadas por los lenguajes de especificación actuales. Como resultado, la mayoría de peticiones generadas automáticamente viola alguna dependencia y es rechazada por la API. En este artículo, proponemos un método para entrenar eficientemente un clasificador que prediga la validez de las peticiones, para as+AO0 poder descartar las inválidas antes de invocar a la API. Nuestra técnica aprende a medida que genera casos de prueba, de forma que el porcentaje de llamadas válidas aumenta progresivamente hasta un 90+ACU en APIs comerciales como GitHub y Stripe. Estos resultados prometedores sugieren que nuestra propuesta podría mejorar significativamente la generación automática de casos de prueba para APIs REST.
  • Artículo
    Reparación de pruebas de interfaz de usuario en Android como un problema de búsqueda
    Cantón Fernandez, Adrián; Parejo Maestre, José Antonio; Segura Rueda, Sergio; Ruiz Cortés, Antonio. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Las pruebas de interfaz de usuario son una técnica muy popular gracias a su capacidad para validar el comportamiento de la aplicación tal y como lo experimentaría el usuario, y por su facilidad para generar los casos de prueba. Sin embargo, una de las limitaciones más importantes de este tipo de pruebas es su fragilidad ante los cambios de la propia interfaz de usuario, que suelen producirse durante el desarrollo del sistema. En este artículo formulamos la reparación de estas pruebas ante cambios en la intefaz o funcionalidad de la aplicación como un problema de búsqueda. Además, proponemos un algoritmo heurístico para su resolución basado en GRASP. Esta propuesta se ha implementado y validado en el dominio especifico de aplicaciones móviles para dispositivos Android. Los resultados obtenidos demuestran su aplicabilidad con varios casos de estudio para cambios de diversa envergadura.
  • Artículo
    Towards the Definition of Test Coverage Criteria for RESTful Web APIs
    Martín-López, Alberto; Segura Rueda, Sergio; Ruiz Cortés, Antonio. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Web APIs following the REST architectural style (so-called RESTful Web APIs) have become the de-facto standard for software integration. As RESTful APIs gain momentum, so does the testing of them. However, there is a lack of mechanisms to assess the adequacy of testing approaches in this context, which makes it difficult to measure and compare the effectiveness of different testing techniques. In this work-in-progress paper, we take a step forward towards a framework for the assessment and comparison of testing approaches for RESTful Web APIs. To that end, we propose a preliminary catalogue of test coverage criteria. These criteria measure the adequacy of test suites based on the degree to which they exercise the different input and output elements of RESTful Web services. To the best of our knowledge, this is the first attempt to measure the adequacy of testing approaches for RESTful Web APIs.
  • Artículo
    Identificación Automática de Relaciones Metamórficas en Sistemas de Búsqueda
    Alonso Valenzuela, Juan Carlos; Martín-López, Alberto; Segura Rueda, Sergio; Ruiz Cortés, Antonio. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.
    Proveer al usuario con opciones de búsqueda avanzada que faciliten el acceso a los datos que busca es una característica común de muchos sistemas software, tales como sistemas de información, sistemas de comercio electrónico y APIs web. La complejidad y magnitud de estos sistemas provocan que en la mayoría de los casos sea imposible determinar si la salida obtenida es correcta. Una solución para aliviar este problema es la aplicación de pruebas metamórficas, que explotan las relaciones existentes entre los parámetros de un sistema, conocidas como relaciones metamórficas (RMs). Sin embargo, la identificación manual de RMs exige tiempo y esfuerzo, lo que limita su aplicación. En este artículo, describimos nuestro trabajo en progreso para el desarrollo de un método para la identificación automática de RMs en el contexto de sistemas de búsqueda. Nuestro primer prototipo muestra la efectividad de nuestra propuesta para generar cientos de RMs en sistemas reales como YouTube, IMDb o SkyScanner en cuestión de segundos.
  • Artículo
    Configuración guiada por búsqueda de aplicaciones basadas en micro-servicios
    Parejo Maestre, José Antonio; Ramírez, Aurora; Romero, José Raúl; Segura Rueda, Sergio; Ruiz Cortés, Antonio. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    Organizaciones como Netflix, Google o Amazon hacen uso de arquitecturas basadas en micro-servicios, lo que ha disparado el interés de la comunidad en ingeniería del software por este estilo arquitectónico, en el que los distintos módulos de la aplicación se implementan como servicios web RESTful independientes. De esta forma, se alcanza un nivel de modularidad que facilita el control del re-despliegue en únicamente aquellas partes que soportan mayor carga de trabajo y, consecuentemente, evitan el uso indiscriminado de la infraestructura. Todos estos servicios, además, se coordinan e invocan orquestando las interacciones necesarias para satisfacer los requisitos del sistema. No obstante, el buen uso de este estilo arquitectónico supone nuevos retos, como determinar qué instancias de servicios se despliegan o establecer la mejor configuración de la nube que los aloja, conforme a la carga esperada y para cumplir los Acuerdos de Nivel de Servicio. Se trata de un problema de optimización en el que deben considerarse simultáneamente múltiples propiedades, a menudo en conflicto entre sí. Por ello, tras formular este caso como un problema de búsqueda, se discutirá cómo el uso de técnicas multi-objetivo puede mejorar las soluciones actuales, permitiéndonos escoger los proveedores y configuraciones apropiadas para dismuir los costes de explotación, asegurar la disponibilidad de los servicios críticos, sin empobrecer la latencia y el tiempo de respuesta.
  • Artículo
    Automated Code Generation for Inter-parameter Dependencies in REST APIs
    Barakat, Saman; Barba Roque, Enrique; Sánchez Jerez, Ana Belén; Segura Rueda, Sergio. Actas de las XVII Jornadas de Ingeniería de Ciencia e Ingeniería de Servicios (JCIS 2022), 2022-09-05.
    The generation of code templates from REST API specifications is a common practice in industry. However, existing tools neglects the dependencies among input parameters (so called inter-parameter dependencies), extremelly common in practice and usually described in natural language. As a result, developers are responsible for implementing the corresponding validation logic manually, a tedious and error-prone process. In this paper, we present an approach for the automated generation of code for inter-parameter dependencies specified using the IDL4OAS extension. As a proof of concept, we present an extension of the popular openapi-generator tool ecosystem, automating the generation of Java and Python code for the management of inter-parameter dependencies in both, servers and clients. Preliminary results show the effectiveness of the approach in accelerating the development of APIs while making them potentially more reliable.
  • Artículo
    Pruebas de Mutación de APIs Web: Un Enfoque de Caja Negra
    Sánchez Jerez, Ana Belén; Martín-López, Alberto; Segura Rueda, Sergio; Ruiz Cortés, Antonio. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.
    Las Interfaces de Programación de Aplicaciones (APIs) web tienen un papel clave en la integración de aplicaciones, por lo que validar su correcto funcionamiento es crucial. La mayoría de técnicas de generación de casos de prueba en este ámbito son de caja negra y suelen evaluarse con APIs sin código fuente disponible. Por ello, no es posible emplear pruebas de mutación tradicional, y no podemos cuantificar la efectividad de las pruebas si la API no expone ningún error. Este artículo propone un enfoque de caja negra para evaluar la capacidad de detección de errores de las pruebas para APIs web: en lugar de crear variantes defectuosas del código del programa (pruebas de mutación tradicionales), se crean mutantes de las salidas del programa (respuestas HTTP). JSONMutator es la herramienta implementada para llevar a cabo estas mutaciones. Los oráculos de pruebas se aplican sobre dichos mutantes y, a medida que las pruebas fallan, la cobertura de mutación aumenta. Experimentos preliminares sugieren que la herramienta es efectiva para crear mutantes a partir de la salida de APIs web y que existe correlación entre la cobertura de mutación de caja negra y caja blanca.
  • Artículo
    Evaluación y mejora de pruebas de rendimiento utilizando mutación del software: Un enfoque evolutivo
    Sánchez Jerez, Ana Belén; Delgado Pérez, Pedro; Medina Bulo, María Inmaculada; Segura Rueda, Sergio. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.
    Los errores de rendimiento del software pueden causar una importante degradación en la experiencia de usuario y dar lugar a problemas muy costosos de detectar y resolver. Las pruebas de rendimiento persiguen detectar y reducir el impacto de estos errores. Sin embargo, no existen mecanismos para evaluar la calidad de las pruebas de rendimiento, causando en muchos casos, que estos errores pasen desapercibidos. La prueba de mutación es una técnica para evaluar y mejorar las pruebas funcionales a través de la introducción de errores artificiales en el programa bajo prueba. En este artículo, exploramos la aplicabilidad de la prueba de mutación junto con el empleo de un algoritmo evolutivo para buscar mutantes que simulen errores de rendimiento. Esta propuesta noPrueba de mutación, errores de rendimiento, pruebas de rendimiento, algoritmos evolutivos.vedosa contribuye a mejorar la confianza en las pruebas de rendimiento al mismo tiempo que reduce el coste de la prueba de mutación.
  • Artículo
    Pruebas de Mutación de Caja Negra para APIs Web
    Sánchez Jerez, Ana Belén; Martín-López, Alberto; Segura Rueda, Sergio; Ruiz Cortés, Antonio. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.
    Las Interfaces de Programación de Aplicaciones (APIs) web desempeñan un papel clave en la integración de aplicaciones, por lo que validar su correcto funcionamiento resulta crucial. La mayoría de técnicas de generación de casos de prueba en este ámbito son de caja negra y con frecuencia se evalúan con APIs para las que no se dispone del código fuente. En este escenario, no es posible emplear pruebas de mutación tradicionales, por lo que no es posible cuantificar la efectividad de las pruebas si la API no expone ningún error. En este artículo, proponemos un enfoque de caja negra para evaluar la capacidad de detección de errores de las suites de pruebas para APIs web: en lugar de crear variantes defectuosas del código del programa (API), como en las pruebas de mutación tradicionales, se crean mutantes de las salidas del programa (respuestas HTTP). Los oráculos de pruebas se aplican sobre dichos mutantes y, a medida que las pruebas fallan, la cobertura de mutación aumenta. Experimentos preliminares sugieren que existe correlación entre la cobertura de mutación de caja negra y caja blanca.