Autor: Ramírez, Aurora
Cargando...
E-mails conocidos
aramirez@uco.es
Fecha de nacimiento
Proyectos de investigación
Unidades organizativas
Puesto de trabajo
Apellidos
Ramírez
Nombre de pila
Aurora
Nombre
Nombres alternativos
Afiliaciones conocidas
Universidad de Málaga, Spain
University of Córdoba, Spain
Universidad de Córdoba, Spain
Universidad de Córdoba
Dpto. de Informática y Análisis Numérico, Universidad de Córdoba
Dpto. de Informática y Análisis Numérico Universidad de Córdoba, Campus de Rabanales, 14071 Córdoba, España
University of Córdoba, Spain
Universidad de Córdoba, Spain
Universidad de Córdoba
Dpto. de Informática y Análisis Numérico, Universidad de Córdoba
Dpto. de Informática y Análisis Numérico Universidad de Córdoba, Campus de Rabanales, 14071 Córdoba, España
Páginas web conocidas
Página completa del ítem
Notificar un error en este autor
14 resultados
Resultados de la búsqueda
Mostrando 1 - 10 de 14
Artículo Preprocesado de flujos de datos para aprendizaje automático mediante reglas CEPRamírez, Aurora; Moreno, Nathalie; Bertoa, Manuel F.; Vallecillo, Antonio. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.El procesamiento de flujos de información constituye un área de gran relevancia dentro de la gestión de datos, pues sus métodos deben ser ágiles y eficientes para soportar el volumen y la velocidad con la que los datos se generan actualmente. Las técnicas de minería de datos han necesitado adaptarse a estas circunstancias, que no solo afectan al modo en el que se aprende de los datos, sino también a la preparación de los mismos. En este contexto, los sistemas de procesamiento de eventos complejos (CEP) pueden facilitar el tratamiento de los datos en tiempo real. Este trabajo propone abordar el preprocesamiento de flujos de datos mediante CEP. El estudio experimental revela que los datos, convenientemente transformados y enriquecidos con información temporal, mejoran la predicción de los algoritmos de aprendizaje automático.Artículo Looking for novelty in SBSE problemsRomero, José Raúl; Ramírez, Aurora; Simons, Christopher L.. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.Search-based software engineering (SBSE) was conceived to support engineers searching for innovative ideas to solve recurrent software engineering problems along the software project lifecycle. However, current approaches require the engineer to formulate and quantify their search objectives, which may be challenging. As SBSE consolidates as a discipline, problems become more demanding, and consequently the definition of the search problem and the characteristics of the search space remain oversimplified. Thus the evaluation of problem solutions by means of a fitness function could be failing to address essential aspects that can cause disappointment for the engineer after reaching final results. This position paper launches the idea that novelty search opens up a new scenario, as it rewards solution novelty, a concept mapping to problem characteristics other than fitness and whose definition might be more intuitive to the engineer. We explore its applicability to SBSE and discuss some preliminary findings of interest to the SBSE community.Artículo Análisis de librerías Python en repositorios GitHub con minería de patronesGarcía-Pozo, Pedro Pablo; Ramírez, Aurora. Actas de las XXVI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2022), 2022-09-05.Python se ha erigido como uno de los lenguajes de programación más populares hoy en día, en parte gracias a la cantidad de recursos a disposición de los programadores. Incluir desarrollos de terceros, en forma de librerías, en programas Python es una práctica muy habitual pues aligera el esfuerzo de codificación y permite una alta reutilización. En este trabajo se presenta una visión del ecosistema de librerías Python y sus singularidades. Mediante herramientas y técnicas propias de la minería de repositorios software, se ha extraído y analizado un conjunto de más 3.000 librerías Python utilizadas por más de 800 repositorios públicos de GitHub. Además de mostrar estadísticas sobre su uso, hemos aplicado minería de patrones para descubrir relaciones aparentemente ocultas entre librerías. Nuestro estudio revela que aunque el ecosistema de librerías es vasto, los repositorios tienden a utilizar un número reducido de librerías (15 o menos). No obstante, existen librerías que destacan por su amplio uso, como son requests para desarrollos web y numpy para proyectos de carácter más general o científico.Artículo Contrastive and counterfactual explanations for test case prioritization: Ideas and challengesRamírez, Aurora; Berrios, Mario; Feldt, Robert; Romero, José Raúl. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.As machine learning (ML) is increasingly used in software engineering (SE), explainable artificial intelligence (XAI) is crucial for understanding choices made by opaque, "black-box" models. Test case prioritization (TCP) is an important SE problem that can benefit from ML. In this paper, we explore two approaches for generating explanations in ML-based TCP, contrastive and counterfactual XAI, and present application scenarios where they can enhance testers' comprehension of model outputs. Specifically, we use DiCE, a method for generating counterfactual explanations, as an illustrative example and conclude by discussing open issues.Artículo Mejora de la legibilidad en la generación de casos de prueba mediante búsqueda interactivaDelgado Pérez, Pedro; Ramírez, Aurora; Valle-Gómez, Kevin J.; Medina Bulo, María Inmaculada; Romero, José Raúl. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.La generación de pruebas es una actividad costosa pero a la vez imprescindible para aumentar la calidad de los proyectos software. Las herramientas de pruebas automatizadas basadas en los principios de la búsqueda evolutiva aún presentan limitaciones a la hora de encontrar fallos en sistemas reales, as+AO0 como en la obtención de código entendible para un ingeniero de pruebas. El uso de enfoques interactivos puede ayudar a paliar estas limitaciones, pues permiten incluir conocimiento y habilidades humanas en la búsqueda. En este trabajo presentamos las posibilidades que la interacción ofrece a la generación automática de casos de prueba, proponiendo un algoritmo evolutivo interactivo capaz de integrar la evaluación del ingeniero de pruebas respecto a la legibilidad de los casos de prueba. Una comparativa inicial frente a la versión no interactiva del algoritmo evidencia que la inclusión de interacción favorece la generación de conjuntos de pruebas más legibles, sin perjudicar la cobertura alcanzada. Fruto de este primer experimento, basado en interacción simulada, planteamos una serie de retos relacionados con el diseño y validación real de algoritmos evolutivos interactivos en el contexto de la generación de pruebas.Artículo Minería de repositorios para la recomendación de librerías Python con CrossRecGarcía-Pozo, Pedro Pablo; Ramírez, Aurora; Romero, José Raúl. Actas de las XXVII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2023), 2023-09-12.La minería de repositorios software permite la extracción y análisis de datos provenientes de plataformas como GitHub con el objetivo de construir sistemas de recomendación para ingenieros software, entre otros. Uno de los campos de aplicación es la recomendación de librerías de terceros en base a las similitudes entre repositorios. En este trabajo abordamos este problema para repositorios de código Python. A pesar de la importancia actual de este lenguaje, aún no se han propuesto sistemas de recomendación específicos para sus librerías. En nuestro estudio experimental analizamos la influencia de varios factores a la hora de extraer los datos, como los criterios de filtrado de repositorios y la fuente de donde se extraen las librerías utilizadas por cada repositorio. A continuación, aplicamos el sistema de recomendación CrossRec sobre los conjuntos de datos para evaluar su rendimiento. Nuestros resultados confirman la necesidad de adaptar los sistemas de recomendación en función de la cantidad y diversidad de repositorios software que se observa en el ecosistema Python.Artículo Descubrimiento de patrones de diseño basado en buenas prácticas: modelo y discusiónBarbudo Lunar, Rafael; Ramírez, Aurora; Romero, José Raúl; Ventura, Sebastián. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.La complejidad de los sistemas actuales obliga a los ingenieros software a aprender de las buenas prácticas empleadas en proyectos previos como, por ejemplo, el uso de patrones de diseño. Dichos patrones tienen una gran importancia durante la fase de diseño y su posterior implementación genera varias ventajas. En este contexto, se propone el uso de técnicas de minería de datos que ayuden a comprender como otros ingenieros software han implementado dichos patrones. Con la representación adecuada, este conocimiento se podrá utilizar para identificar fragmentos de código susceptibles de ser convertidos en un determinado patrón. Además del modelo, se discuten ventajas y retos asociados.Artículo Configuración guiada por búsqueda de aplicaciones basadas en micro-serviciosParejo 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 Estudio de mecanismos de hibridación para el descubrimiento evolutivo de arquitecturasRamírez, Aurora; Molina, José Antonio; Romero, José Raúl; Ventura, Sebastián. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.Las decisiones que los ingenieros software toman durante el análisis arquitectónico pueden verse influenciadas por aspectos como la naturaleza del sistema bajo estudio o los criterios de calidad que deben guiar su desarrollo, generalmente expresados en términos de métricas software. A la hora de abordar tareas de diseño arquitectónico como problemas de optimización, factores como los anteriores también deben ser tenidos en cuenta, ya que podrían afectar al funcionamiento de cualquier algoritmo de búsqueda. Incluir técnicas de búsqueda local en un algoritmo evolutivo constituye un mecanismo habitual para intentar mejorar su rendimiento, si bien diseñar un modelo híbrido añade nuevas variables a ser estudiadas. En este trabajo se analiza la idoneidad de este tipo de enfoque para la resolución del problema del descubrimiento de arquitecturas software. El estudio experimental realizado muestra que las características del problema pueden influir tanto en la eficiencia de la búsqueda local como en la calidad de las soluciones obtenidas.Artículo Búsqueda coevolutiva interactiva aplicada al diseño de softwareRamírez, Aurora; Romero, José Raúl; Ventura, Sebastián. Actas de las XXII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2017), 2017-07-19.La resolución de tareas de diseño software mediante técnicas de búsqueda plantea dificultades como la exploración efectiva de un gran conjunto de alternativas, cuya calidad no puede ser evaluada sólo en base a medidas software. Con el fin de solventarlas, es necesario considerar técnicas más avanzadas que se aproximen más a cómo los ingenieros diseñan en la realidad. Los modelos coevolutivos permiten descomponer el problema original en varias partes diferenciadas que se resuelven simultáneamente, mientras que la optimización interactiva permite incorporar el conocimiento del ingeniero. Este trabajo propone un modelo que combina ambas técnicas y plantea los retos que conlleva su desarrollo.