La detección de errores en tiempo de ejecución es un método de verificación de software que analiza una aplicación de software a medida que se ejecuta e informa los defectos que se detectan durante esa ejecución. Se puede aplicar durante pruebas unitarias , pruebas de componentes , pruebas de integración , pruebas de sistema (automatizadas/programadas o manuales) o pruebas de penetración .
La detección de errores en tiempo de ejecución puede identificar defectos que se manifiestan solo en tiempo de ejecución (por ejemplo, sobrescritura de archivos) y centrarse en las causas fundamentales de que la aplicación se bloquee, funcione con lentitud o se comporte de manera impredecible. Los defectos que se detectan comúnmente mediante la detección de errores en tiempo de ejecución incluyen:
- Condiciones de carrera
- Excepciones
- Fugas de recursos
- Fugas de memoria
- Vulnerabilidades de ataques de seguridad (por ejemplo, inyección SQL )
- Punteros nulos
- Memoria no inicializada
- Desbordamientos de búfer [1]
Las herramientas de detección de errores en tiempo de ejecución solo pueden detectar errores en el flujo de control ejecutado de la aplicación. [2]
Véase también
- Pruebas de desarrollo
- Pruebas de software
- Depurador de memoria
- Comprobador de límites
- Verificación en tiempo de ejecución
Referencias
- ^ Detección de errores en tiempo de ejecución por Parasoft
- ^ MUST: Un enfoque escalable para la detección de errores en tiempo de ejecución en programas MPI por Tobias Hilbrich, Martin Schulz, Bronis R. de Supinski, Matthias S. Müller, en Herramientas para la computación de alto rendimiento 2009