Autor:
Romero, José Raúl

Cargando...
Foto de perfil
E-mails conocidos
jrromero@uco.es
Fecha de nacimiento
Proyectos de investigación
Unidades organizativas
Puesto de trabajo
Apellidos
Romero
Nombre de pila
José Raúl
Nombre
Nombres alternativos
Afiliaciones conocidas
University of Cordoba, 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

Resultados de la búsqueda

Mostrando 1 - 10 de 13
  • Artículo
    Minería de repositorios para la recomendación de librerías Python con CrossRec
    Garcí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
    API para el desarrollo de algoritmos interactivos en ingeniería del software basada en búsqueda
    Ramírez, Aurora; Romero, José Raúl; Ventura, Sebastián. Actas de las XXIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2018), 2018-09-17.
    La experiencia y la intuición son factores clave a la hora de dar solución a los complejos problemas que plantea la ingeniería del software. Sin embargo, este tipo de criterios no suelen ser considerados cuando su resolución se aborda por medio de técnicas de búsqueda automática. La ingeniería del software basada en búsqueda (SBSE) no puede ni debe obviar la opinión del ingeniero, razón por la que cada vez es más frecuente encontrar propuestas que le invitan a participar en el proceso. Diseñar e implementar un mecanismo de interacción efectivo, a la par que atractivo para el ingeniero, puede resultar complejo. Por ello, este trabajo presenta una API para dar soporte al desarrollo de algoritmos interactivos en SBSE. En base a los enfoques interactivos actuales en SBSE, esta API expone cuáles son los requisitos propios de la interactividad que deben programarse como, por ejemplo, la forma de evaluar las soluciones y las acciones que el ingeniero puede realizar sobre ellas.
  • Artículo
    Búsqueda coevolutiva interactiva aplicada al diseño de software
    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 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.
  • 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
    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.
  • 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
    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 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
    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
    Lenguaje específico para el modelado de flujos de trabajo aplicados a ciencia de datos
    Salado-Cid, Rubén; Romero, José Raúl. Actas de las XXI Jornadas de Ingeniería del Software y Bases de Datos (JISBD 2016), 2016-09-13.
    La ciencia de datos permite la extracción de conocimiento utilizando fuentes no heterogéneas con grandes volúmenes de datos. Este campo es actualmente una de las áreas de mayor crecimiento debido al aumento exponencial de datos disponibles, con aplicación en un amplio rango de dominios. De hecho, es frecuente que los usuarios no posean conocimientos específicos en computación. Para ellos los flujos de trabajo son un mecanismo adecuado de representación y modelización de su proceso de trabajo, ya que permiten definir a alto nivel la secuencia de acciones que permitiría capturar la información y transformarla en conocimiento. Los sistemas de gestión de flujos de trabajo son los encargados de ejecutarlos de forma transparente. En este trabajo se presenta, formalizando su sintaxis abstracta, un lenguaje para la definición de flujos de trabajo a distintos niveles de abstracción. El desarrollo de este lenguaje, por su independencia de la notación concreta, se hace necesario para alcanzar un mayor nivel de interoperabilidad entre las aplicaciones ya desarrolladas para este fin.