Generación automática de tests basada en la API y optimizaciones
Resumen:
- Uno de los atributos de calidad más importantes del software es la corrección funcional, es decir, en qué medida el software desarrollado se comporta según lo esperado. En las metodologías actuales de desarrollo de software, el testing es la técnica más utilizada para evaluar la corrección funcional, permitiendo detectar fallas en etapas tempranas del desarrollo y corregirlas antes de que el software llegue a la etapa de producción. Sin embargo, el testing manual es una tarea trabajosa que require de una cantidad significativa de horas de desarrollo para llevarse a cabo de manera efectiva . Con el objetivo de simplificar/reducir el costo de las tareas de testing, en las últimas décadas se ha puesto especial énfasis en el estudio y desarrollo de enfoques de generación automática de tests. En este proyecto, nos centraremos en los enfoques que generan tests automáticamente seleccionando y ejecutando métodos en la API del software bajo test. Estos se encuentran al nivel del estado del arte de la generación automática de tests. Nuestro objetivo es contribuir a mejorar los enfoques de generación de tests basados en la API existentes, y/o definir nuevos con mejores propiedades para un propósito dado. Con respecto a esto último, se propone definir un enfoque de generación exhaustiva acotada basado en realizar invocaciones a la API del software. En contraste con enfoques previos basados en la API (que poseen componentes aleatorios), la generación exhaustiva acotada permite explorar sistemáticamente una gran porción de ejecuciones del software bajo test, incrementando las garantías de ausencia de fallas en el mismo. Con respecto a las mejoras de los enfoques basados en la API, se propone definir enfoques novedosos de redundancia de objetos, para eliminar tests redundantes de acuerdo a estos criterios (tests que ejercitan el código con las mismas entradas), y reemplazarlos con tests que sirvan para mejorar la calidad de las suites generadas. Se propone también la definición de nuevos enfoques de clasificación automática de métodos en aquellos que son de utilidad para la creación de nuevos objetos, a los que llamaremos métodos generadores, y aquellos que no lo son. La identificación de un subconjunto pequeño de métodos generadores a partir de la API permitiría reducir significativamente la cantidad de combinaciones de métodos a considerar para la generación de tests de calidad. Se implementarán herramientas de software que implementen los enfoques mencionados, y se usarán para evaluar experimentalmente los enfoques con respecto a otros relacionados. Como casos de estudio se tomarán benchmarks existentes que incluyan código ampliamente usado por desarrolladores y de diferentes complejidades (como SF110 y Defects4j).
Financiamiento :
- Externo
Área temática:
- (FONCYT) Tecnología Informática, de las Comunicaciones y Electrónica
Solicitud de información de oferta tecnológica
Ultimas novedades
Buscador tecnológico por PALABRA CLAVE FACULTAD DISCIPLINA
-
El Área de Vinculación y Transferencia Tecnológica de la Universidad Nacional de Villa María visitó la UNRC
-
La UNRC fue una de las sedes del primer Foro de Innovación Sostenible
-
GridX en la UNRC | La Company Builder se reunió con investigadores de la universidad
-
Reunión exclusiva con GRIDX: "¿Estás interesado en transformar tu investigación en una startup?"
-
Cursá "Modelos de negocios" [Trayecto en Desarrollo Emprendedor]