X

Juan Pablo Sandoval y Nicolás Jiménez publican: “Increasing the Effectiveness of Automatically Generated Tests by Improving Class Observability” en IEEE/ACM International Conference on Software Engineering

ICSE, la Conferencia Internacional IEEE/ACM sobre Ingeniería de Software, considerada la principal conferencia de ingeniería de software.
En esta 47° versión se celebrará desde el 27 de abril al 3 de mayo de 2025 en Ottawa. Los días principales de la conferencia serán del miércoles 30 de abril al viernes 2 de mayo.

El trabajo titulado “Increasing the Effectiveness of Automatically Generated Tests by Improving Class Observability”, fue desarrollado por Nicolás Jiménez Fuentes junto a su tutor Prof. Juan Pablo Sandoval Alcocer (DCC UC), en colaboración con Geraldine Galindo-Gutierrez, Alexandre Bergel y Gordon Fraser. 

El paper de Magíster de Nicolás Jiménez-Fuentes, estudiante del laboratorio de Ingeniería de Software (SEISLab), fue aceptado en ICSE 2025 (International Conference on Software Engineering), la principal conferencia mundial en ingeniería de software organizada por IEEE/ACM. Este año se enviaron más de 1000 postulaciones de las cuales solo alrededor de 200 fueron aceptadas, lo que refleja el alto estándar de esta conferencia que se realizará en Canadá. 

La investigación propone mejorar la calidad de los tests generados automáticamente al aumentar la observabilidad de las clases, es decir, haciendo que los atributos internos sean más accesibles y verificables por herramientas como EvoSuite. Esta mejora permite detectar errores de forma más eficaz y generar pruebas más útiles para los desarrolladores. 
Nicolás se encuentra próximo a defender su tesis de Magíster, y esta publicación representa un hito destacado en su magister.

Resumen:
La generación automatizada de pruebas unitarias consiste en dos desafíos complementarios: Encontrar secuencias de llamadas a la API que ejerzan el código de una clase bajo prueba y encontrar declaraciones de aserción que validen el comportamiento de la clase durante la ejecución. El primer desafío a menudo se aborda utilizando algoritmos de búsqueda meta-heurísticas que optimizan las pruebas para la cobertura del código, que luego se anotan con afirmaciones de regresión para abordar el último desafío, es decir, afirmaciones que capturan los estados observados durante la generación de pruebas. Si bien las pruebas resultantes tienden a lograr una alta cobertura, su potencial de búsqueda de fallas a menudo se ve inhibido por la observabilidad deficiente o difícil de la base de código. Es decir, los atributos y propiedades relevantes pueden no exponerse adecuadamente en absoluto, o solo de manera que el generador de pruebas no pueda manejar. En este documento, investigamos la influencia de la observabilidad en el contexto del generador de pruebas Java basado en la búsqueda de EvoSuite, que ampliamos de dos maneras complementarias para estudiar y mejorar la observabilidad: Primero, aplicamos una transformación al código bajo prueba para exponer atributos encapsulados al generador de pruebas; segundo, abordamos la capacidad limitada de EvoSuite de afirmar el estado de objetos complejos. Nuestra evaluación demuestra que juntas estas mejoras de observabilidad conducen a un aumento significativo de las puntuaciones de mutación, subrayando la importancia de considerar la observabilidad de la clase en el proceso de generación de pruebas.

Puedes leer el paper aquí: https://conf.researchr.org/details/icse-2025/icse-2025-research-track/113/Increasing-the-Effectiveness-of-Automatically-Generated-Tests-by-Improving-Class-Obse

¿Te interesa investigar temas como este? En el SEISLab siempre estamos recibiendo nuevos integrantes para hacer tesis de Magíster o Doctorado.
Puedes encontrar más información de los Laboratorios DCC UC, aquí: https://dcc.ing.uc.cl/investigacion/laboratorios/
Si te apasiona la ingeniería de software, puedes escribir directamente al profesor Juan Pablo Sandoval (juanpablo.sandoval@uc.cl).


Nicolás Jiménez Fuentes
Desplazamiento al inicio