Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>

Vea qué solución de pruebas de API resultó ganadora en el informe GigaOm Radar. Obtenga su informe analítico gratuito >>
Saltar a la sección
Los sistemas avanzados de asistencia al conductor (ADAS) son un componente clave en los vehículos definidos por software (SDV) modernos. Cumplir con los estándares de seguridad no es tarea fácil. Siga leyendo para conocer el papel fundamental del análisis de código estático para la seguridad de los ADAS.
Saltar a la sección
Saltar a la sección
Los accidentes recientes que involucraron vehículos con sistemas de conducción automatizada (ADS) y ADAS han generado un mayor escrutinio regulatorio. Entre junio de 2021 y junio de 2024, se registraron casi 4,000 incidentes Fue reportado involucrando estos sistemas.
Para ponerlo en contexto, hay millones de líneas de código que guían la toma de decisiones en tiempo real en los vehículos autónomos, por lo que incluso el defecto más pequeño podría tener graves consecuencias en la carretera.
Esta complejidad, sumada al endurecimiento normas de seguridad Al igual que la ISO 26262, la ISO 21448, la MISRA y el Reglamento nº 157 de la CEPE, se requiere un enfoque proactivo de la calidad del software. El análisis estático del código combinado con medidas de prueba automatizadas son componentes fundamentales en este proceso.
En este artículo, analizamos cómo el análisis de código estático y la automatización de CI/CD a lo largo del ciclo de desarrollo pueden mejorar la seguridad de los vehículos críticos para el software.
ADAS es una importante función basada en software en los SDV. Utiliza software avanzado para proporcionar funciones críticas de asistencia al conductor, como prevención de colisiones, control de crucero adaptativo y estacionamiento automático.
Para mejorar el rendimiento del sistema, permitir una comunicación fluida entre los componentes y garantizar la coordinación en tiempo real entre varios subsistemas, como el frenado, la dirección, el control del acelerador y otras funciones críticas, ADAS se basa en arquitecturas electrónicas centralizadas.
Estas arquitecturas utilizan unidades informáticas centrales de alto rendimiento para procesar datos de sensores, realizar la fusión de sensores y ejecutar una toma de decisiones avanzada para mejorar la seguridad y la automatización del vehículo.
Para ofrecer funciones avanzadas en los SDV, ADAS presenta las siguientes funcionalidades.
El sistema ADAS utiliza radar, LiDAR y cámaras para detectar posibles colisiones. El sistema puede advertir al conductor o aplicar de forma autónoma el frenado de emergencia para reducir la probabilidad de colisiones traseras.
El control de crucero adaptativo y el asistente de mantenimiento de carril controlan continuamente las condiciones del tráfico, ajustan la velocidad y la dirección para mantener las distancias de seguridad y mantener a los vehículos centrados en sus carriles. Estos sistemas realizan ajustes en tiempo real para garantizar un mejor control en situaciones de tráfico dinámico.
Mediante la fusión de sensores y la visión artificial, los ADAS pueden identificar obstáculos, señales de tráfico, marcas de carril y peatones, lo que aumenta la seguridad en situaciones de baja visibilidad y durante la conducción nocturna.
ComunicaciónLa comunicación V2X permite que los vehículos interactúen con la infraestructura cercana, los peatones y otros vehículos, mejorando el conocimiento de la situación y ayudando a prevenir accidentes antes de que ocurran.
ADAS integra mapas de alta definición y GPS para brindar navegación en tiempo real, orientación a nivel de carril y optimización de ruta, lo que garantiza un viaje más eficiente y seguro.
Como ocurre con todos los sistemas de software críticos para la seguridad, la creación de sistemas avanzados de asistencia al conductor es una tarea compleja. Sus casos de uso deben responder, en gran medida, a preguntas críticas para la seguridad, como:
Por lo tanto, para que un sistema ADAS llegue al mercado, debe funcionar perfectamente en escenarios de conducción impredecibles, donde incluso errores menores pueden tener consecuencias catastróficas.
Como resultado, uno de los principales desafíos que enfrentan los desarrolladores es garantizar la seguridad funcional, como se describe en normas como ISO 26262.
Esta norma define las medidas de seguridad para los sistemas electrónicos de los vehículos y exige procesos rigurosos para mitigar los riesgos derivados de fallos de hardware o software. Por ejemplo, exige la asignación de niveles de integridad de seguridad automotriz (ASIL) a los peligros potenciales y la implementación de diseños tolerantes a fallos para cumplir con estos objetivos de seguridad.
Garantizar el rendimiento en tiempo real es otro obstáculo que los desarrolladores deben afrontar. Los sistemas ADAS procesan grandes cantidades de datos de sensores, como cámaras, lidar, sensores ultrasónicos, sensores infrarrojos, receptores GNSS e IMU para tomar decisiones en fracciones de segundo. Normas como la ISO 21448 (Seguridad de la funcionalidad prevista) abordan este problema centrándose en minimizar los riesgos derivados de las limitaciones del sistema en entornos complejos.
El cumplimiento de las normativas en constante evolución añade más complejidad. Por ejemplo, el Reglamento 157 de la CEPE regula los sistemas automáticos de mantenimiento de carril (ALKS), que exigen pruebas rigurosas en condiciones específicas. De manera similar, la norma ISO/SAE 21434 garantiza la protección cibernética contra posibles ataques a los sistemas del vehículo.
Para superar estos desafíos, las organizaciones están recurriendo a plataformas de pruebas automatizadas como Parasoft, que ayuda a los equipos de desarrollo a detectar errores antes de que los códigos se envíen a un entorno de producción.
Las soluciones de pruebas automatizadas de Parasoft están diseñadas para cumplir con los estándares automotrices como ISO 26262, ISO 21434, AUTOSAR C ++ 14y Misra.
Por ejemplo, al utilizar Parasoft C/C++test, los equipos pueden realizar análisis estáticos y dinámicos para detectar defectos y vulnerabilidades en las primeras etapas del ciclo de vida del desarrollo y garantizar el cumplimiento mediante paneles personalizables e informes detallados.
Este enfoque no solo acelera el tiempo de comercialización, sino que también garantiza la entrega de un software ADAS seguro, confiable y compatible.
El análisis de código estático juega un papel crucial para garantizar la confiabilidad del software al detectar errores, vulnerabilidades y problemas de cumplimiento antes de que se ejecute el código.
A diferencia de las pruebas dinámicas, que requieren ejecutar el software, el análisis estático inspecciona el código en reposo e identifica los defectos en las primeras etapas del desarrollo. Esto ayuda a detectar posibles fallas antes de que se conviertan en problemas costosos. También mejora la calidad, la capacidad de mantenimiento y la seguridad del código, lo que lo convierte en una herramienta esencial para los desarrolladores de ADAS.
El software ADAS se basa en algoritmos complejos que procesan datos de sensores en tiempo real. El análisis del flujo de control garantiza que las rutas de ejecución se comporten como se espera, mientras que el análisis del flujo de datos rastrea cómo cambian las variables a lo largo del programa. Estas técnicas ayudan a descubrir condiciones de carrera, fugas de memoria y comportamientos no deseados, problemas que de otro modo podrían pasar desapercibidos hasta que se produce una falla en el mundo real.
La norma ISO 26262 y las normas de codificación para software automotriz (MISRA) establecen requisitos estrictos para el desarrollo de ADAS. La realización de análisis estáticos automatiza el cumplimiento al aplicar las normas de codificación, lo que reduce el riesgo de que se detecten problemas en el campo y la necesidad de realizar retrabajos costosos.
Estamos en la era de la IA y Parasoft no se queda atrás en la implementación de tecnologías de IA en todo su ecosistema.
parasoft Soluciones de análisis de código estático Utiliza algoritmos avanzados de IA y ML para mejorar la calidad del software y hacer cumplir la normativa. Al integrar el reconocimiento de patrones, el análisis basado en reglas y las técnicas de flujo de datos, la plataforma detecta automáticamente vulnerabilidades, errores de codificación y problemas de cumplimiento en lenguajes de codificación como C/C++, Java, C# y VB.NET.
La solución de análisis estático prioriza las violaciones de las reglas y ofrece soluciones prácticas, reduciendo así el tiempo y el costo de remediación.
Para fomentar el desarrollo ágil, la solución también se puede integrar en procesos de CI/CD para permitir que los equipos iteren rápidamente y al mismo tiempo garantizar las medidas de seguridad.
El desarrollo de sistemas ADAS seguros y confiables requiere algo más que innovación. Exige pruebas rigurosas, validación del rendimiento en tiempo real y un estricto cumplimiento de las normas. Con las crecientes preocupaciones de seguridad y el aumento de las retiradas de vehículos, los fabricantes de automóviles deben ir más allá del cumplimiento de las normas para garantizar que estos sistemas funcionen sin problemas en la carretera. Las soluciones de pruebas automatizadas de Parasoft, que incluyen análisis estático, validación basada en simulación y verificación del cumplimiento, desempeñan un papel crucial para cerrar la brecha entre el desarrollo y la seguridad en el mundo real.
Cómo acelerar el cumplimiento de ISO/SAE 21434 con pruebas de software automatizadas