Autor:
Ramírez, Aurora

Cargando...
Foto de perfil

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
Página completa del ítem
Notificar un error en este autor

Resultados de la búsqueda

Mostrando 1 - 10 de 16
  • Artículo
    Configuración guiada por búsqueda de aplicaciones basadas en micro-servicios
    Parejo, José Antonio; Ramírez, Aurora; Romero, José Raúl; Segura, 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
    Descubrimiento de patrones de diseño basado en buenas prácticas: modelo y discusión
    Barbudo 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
    Estado y evolución de la comunidad SBSE en España: un análisis bibliométrico
    Ramírez, Aurora; Delgado-Pérez, Pedro; Ferrer, Javier; Romero, José Raúl; Medina-Bulo, Inmaculada; Chicano, Francisco. Actas de las XXIV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2019), 2019-09-02.
    Dada la creciente complejidad de los sistemas software, disponer de métodos y técnicas eficientes para apoyar la realización de las diferentes actividades que se llevan a cabo en el ciclo de vida de un proyecto software ha despertado un gran interés. Así, el concepto de Ingeniería del Software basada en búsqueda (SBSE, search-based software engineering) ha permitido a ingenieros del software la aplicación de técnicas de optimización para automatizar tareas relativas a la gestión e implementación de un proyecto software. La comunidad científica en España no ha sido ajena a estos avances, contribuyendo desde la aparición de la disciplina en 2001. Este trabajo representa el primer estudio bibliométrico que resume y analiza el esfuerzo investigador realizado por la comunidad SBSE en España, así como su evolución en los últimos 18 años. Tras efectuar un riguroso proceso de búsqueda donde se han considerado más de 3700 artículos, se han identificado 232 publicaciones relevantes, donde participan hasta 145 autores de 19 instituciones diferentes. Entre los resultados más relevantes cabe destacar que casi la mitad de publicaciones se han llevado a cabo entre investigadores de distintas instituciones, la mayoría de ellas internacionales. No obstante, el nacimiento en 2015 del track sobre ingeniería del software guiada por búsqueda en las jornadas SISTEDES ha fomentado el contacto entre investigadores de instituciones españolas, mejorando el ratio de colaboraciones nacionales, así como la financiación dedicada a este campo en España.
  • Artículo
    Looking for novelty in SBSE problems
    Romero, 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
    Contrastive and counterfactual explanations for test case prioritization: Ideas and challenges
    Ramí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
    Estudio de mecanismos de hibridación para el descubrimiento evolutivo de arquitecturas
    Ramí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
    Interactividad en el descubrimiento evolutivo de arquitecturas
    Ramírez, Aurora; Romero, José Raúl; Ventura, Sebastián. Actas de las XX Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2015), 2015-09-15.
    Resolver tareas propias del dise˜no arquitectónico de manera automática es un reto complejo, puesto que los arquitectos cuentan con habilidades que difícilmente pueden simularse y son capaces, además, de mantener una visión global de la actividad que realizan. Por su parte, la ingeniería del software basada en búsqueda está demostrando que las técnicas metaheurísticas son útiles cuando se desea prestar apoyo al ingeniero, especialmente cuando éste puede intervenir activamente en el proceso. Este trabajo analiza los retos que plantea esta colaboración a la hora de desarrollar modelos metaheurísticos para resolver tareas en una fase temprana del software como es el dise˜no arquitectónico. Se estudian aspectos como el papel del ingeniero y los criterios que van a guiar su intervención durante la búsqueda, sirviendo como paso previo para la propuesta de un modelo inicial con el que abordar el descubrimiento de arquitecturas software mediante un algoritmo evolutivo interactivo.
  • Artículo
    Análisis de librerías Python en repositorios GitHub con minería de patrones
    Garcí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
    Mejora de la legibilidad en la generación de casos de prueba mediante búsqueda interactiva
    Delgado-Pérez, Pedro; Ramírez, Aurora; Valle-Gómez, Kevin; Medina-Bulo, 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
    Detección de patrones de diseño con GEML: discusión y enfoque práctico
    Romero, José Raúl; Barbudo Lunar, Rafael; Ramírez, Aurora; Servant, Francisco. Actas de las XXV Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2021), 2021-09-22.
    La adopción de buenas prácticas es fundamental para conseguir código de calidad, elegante, comprensible y mantenible. Sin embargo, con el tiempo, tanto código como documentación se degradan. Para ello, la detección automática de patrones de diseño es un área prominente de investigación en ingeniería inversa, que persigue comprender las decisiones de diseño originales, as+AO0 como ayudar a redocumentar y recuperar código disperso en un repositorio de software. Son varias las propuestas hasta el momento, mayoritariamente basadas en similitudes o métodos formales. Estas técnicas resultan rígidas en la búsqueda, ya que la codificación de un patrón puede variar según cada equipo de desarrollo. Por ello, surgieron las propuestas basadas en aprendizaje automático. Recientemente GEML se propuso como un método basado en clasificación asociativa y programación genética gramatical, que aprende la forma de estos patrones con el objetivo de aportar flexibilidad, interpretabilidad y precisión en la detección. Este trabajo analiza las características de GEML que influyen en su aplicabilidad práctica por el ingeniero software, comparándolo además con herramientas de referencia en el área.