Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Persona escribiendo en la computadora

Análisis en tiempo de ejecución C / C ++

Análisis en tiempo de ejecución C integrado

Desarrollado por la prueba Parasoft C / C ++, la solución de prueba de desarrollo más completa para C y C ++

Análisis de tiempo de ejecución para aplicaciones C integradas

Parasoft C/C++test encuentra defectos de tiempo de ejecución, problemas de estabilidad y vulnerabilidades de seguridad, como fugas de memoria, punteros nulos, memoria no inicializada y desbordamientos de búfer, al monitorear el tiempo de ejecución cuando se ejecuta una aplicación integrada o basada en host, o una unidad de ejecución. pruebas escritas en C. El componente de tiempo de ejecución es extremadamente liviano y requiere solo una pequeña cantidad de código adicional y espacio de datos. Esto es ideal para casos de uso en la industria automotriz para abordar los requisitos de ciberseguridad ISO 21434 que exponen puntos ciegos en el software de vehículos de carretera.

¿Cómo Funciona?

La prueba Parasoft C / C ++ instrumenta automáticamente la base de código de una aplicación para activar el monitoreo cuando la aplicación se está ejecutando, identificando defectos graves, problemas de estabilidad y vulnerabilidades de seguridad, como:

  • Pérdidas de memoria
  • Corrupción de la memoria
  • Leer memoria no inicializada
  • Acceder a la memoria usando un puntero fuera de rango (por ejemplo, desbordamiento de búfer)
  • Accediendo a la memoria usando un puntero nulo
  • Usando free () en un puntero no válido

El análisis de tiempo de ejecución de la prueba de Parasoft C / C ++ proporciona configuraciones de prueba predefinidas para admitir aplicaciones nativas e integradas con asignaciones de memoria de estilo C (malloc / free). El análisis en tiempo de ejecución se puede realizar tanto durante las pruebas unitarias, para validar escenarios específicos y rutas de ejecución, como durante las pruebas funcionales, para monitorear la aplicación completamente integrada.

Los defectos que se han encontrado durante las pruebas en tiempo de ejecución se pueden presentar directamente en el IDE del desarrollador y se pueden correlacionar con otros resultados de pruebas y métricas de calidad, como la cobertura de código o resultados del análisis estático de Parasoft C/C++test, para que el usuario pueda obtener una imagen completa de la aplicación probada, lo que facilita la comprensión de la causa raíz de los defectos de tiempo de ejecución.

Caracteristicas

Benefíciese del enfoque Parasoft

Identifique los defectos reales y las vulnerabilidades de seguridad en una etapa temprana, durante las pruebas unitarias y de integración, en el entorno incrustado en tiempo de ejecución original

Los defectos de tiempo de ejecución en entornos integrados suelen ser difíciles de reproducir en una plataforma de host (y, a menudo, también en plataformas de destino). Al monitorear la ejecución en tiempo de ejecución de una aplicación incrustada, en el entorno de tiempo de ejecución incrustado original, Parasoft lo ayuda a descubrir defectos del mundo real en su software.

Comprender la causa principal de los defectos para un enfoque preventivo

Al correlacionar los defectos del tiempo de ejecución con los resultados del análisis estático, Parasoft brinda a los usuarios visibilidad para comprender e identificar la causa raíz de los defectos. Esto ayuda a los equipos a aplicar prácticas preventivas en todo el código base para descubrir defectos ocultos adicionales y reducir la aparición de defectos en el futuro.

Encuentre más errores al realizar pruebas unitarias

La prueba unitaria es una práctica de prueba crítica para garantizar que su código funcione como se espera en condiciones que son difíciles o imposibles de reproducir cuando la aplicación está completamente ensamblada. La prueba Parasoft C / C ++ le permite aprovechar el análisis en tiempo de ejecución durante la ejecución de pruebas unitarias para descubrir problemas de tiempo de ejecución que están ocultos en la aplicación y que no puede reproducir fácilmente en su entorno de preproducción.