Cómo seleccionar la herramienta adecuada para el cumplimiento de AUTOSAR C ++ en apoyo de ISO 26262
Por Miroslaw Zielinski
25 de junio de 2019
5 min leer
Los equipos que deseen optimizar sus esfuerzos de cumplimiento de ISO 26262 aplicando las pautas de codificación AUTOSAR C ++ tendrán más éxito si están bien informados cuando seleccionan las herramientas de análisis estático para usar en su proyecto. Siga leyendo para conocer algunos consejos del oficio.
El lenguaje C, que dominó el espacio automotriz durante años, ya no es suficiente para abordar la creciente complejidad de las arquitecturas de software automotriz, y con el requisito de diseño orientado a objetos, C ++ es una opción natural para muchos equipos automotrices. Pero C ++ es un lenguaje complicado y requiere mucho esfuerzo para garantizar la previsibilidad, la seguridad y la protección.
La norma de seguridad funcional automotriz ISO 26262 proporciona algunas pautas sobre el desarrollo de software y los procesos de V&V, pero no profundiza en el nivel de las construcciones del lenguaje. Para obtener dicha orientación, las organizaciones recurren a estándares de codificación como MISRA C / C ++ o AUTOSAR C ++. En este blog, compartiré cómo cumplir con ISO 26262 mediante el uso de una herramienta de análisis estático que está configurada con verificadores de cumplimiento AUTOSAR C ++ 14.
Cómo utilizar AUTOSAR C ++ para optimizar el cumplimiento de ISO 26262
El cumplimiento de un estándar de seguridad funcional como ISO 26262 requiere un esfuerzo significativo y debe ser una parte integral del proyecto desde el principio. Incluso en el caso de los componentes de software, el cumplimiento requiere actividades específicas durante la recopilación, planificación e implementación de requisitos, y definitivamente no es algo que pueda "agregarse más tarde".
ISO 26262 especifica una colección de métodos que se requieren para lograr el cumplimiento de la norma. Para reclamar el cumplimiento, los usuarios deben proporcionar evidencia de que se han implementado todos los requisitos y métodos aplicables. No todos los métodos se aplican a todos. La aplicabilidad del método depende del Nivel de Integridad de Seguridad Automotriz (ASIL), que es una clasificación de riesgo definida en la norma (ASIL A representa el grado más bajo y ASIL D representa el grado más alto de peligro automotriz). El método puede ser altamente recomendado, recomendado o neutral.
El desafío al que se enfrentan los equipos cuando intentan cumplir con el estándar es cómo implementar los métodos recomendados para sus procesos. La decisión sobre cómo cumplir con el método o requisito específico se basa frecuentemente en la experiencia del equipo. En algunas situaciones simples, los procedimientos manuales y las revisiones pueden ser una respuesta, pero en la mayoría de los casos, los equipos están tratando de encontrar herramientas que puedan automatizar los métodos requeridos.
Una herramienta que se utiliza para cumplir con ISO26262 debe ser aprobada para el uso previsto a través del proceso formal llamado calificación de la herramienta. El objetivo de la calificación de herramientas de software es proporcionar evidencia de la idoneidad de la herramienta de software, para su uso al desarrollar un elemento o elemento relacionado con la seguridad. Esta puede ser una tarea que consuma tiempo y recursos. (Si está usando Parasoft C / C ++test, se apoya con un kit de calificación automatizado que agiliza el proceso de calificación e incluye una certificación TÜV SÜD que en muchas situaciones es suficiente para la calificación de herramientas.
¿Cómo ayuda el estándar de codificación AUTOSAR C ++?
Seguir un estándar de codificación como AUTOSAR C ++ es un método ampliamente aceptado para satisfacer algunos de los requisitos derivados de ISO 26262. AUTOSAR C ++ 14 proporciona las tablas de trazabilidad que asignan los principios y recomendaciones de ISO 26262 a las directrices de codificación adecuadas. El mapeo cubre principalmente la sección 8 de la Parte 6 de ISO 26262 y simplifica en gran medida el proceso de lograr el cumplimiento de los métodos y requisitos correspondientes de la norma.
Pero las pautas de codificación AUTOSAR C ++ 14 por sí solas no son suficientes para lograr el cumplimiento de la norma ISO 26262 para el componente de software. Algunos métodos en el estándar no se pueden cubrir con la aplicación de las pautas de AUTOSAR, como los métodos 1g, que recomiendan "Uso de guías de estilo", o el método 1h, que recomienda "Uso de convenciones de nomenclatura". AUTOSAR C ++ 14 no incluye guías de estilo ni convenciones de nomenclatura. Sin embargo, ambos métodos se pueden implementar fácilmente con la prueba Parasoft C / C ++, que incluye más de 3000 verificadores de análisis estático, incluidos los verificadores de estilo de código, y proporciona un módulo para crear reglas personalizadas de análisis estático. Los métodos del estándar que no se pueden implementar con análisis estático en general requieren otras técnicas de prueba, como la prueba de inyección de fallas.
3 capacidades clave que necesita para el cumplimiento de AUTOSAR C ++ 14
Por supuesto, esto nos lleva a encontrar la herramienta adecuada para facilitar el cumplimiento. Introducir el proceso de cumplimiento del estándar de codificación en el flujo de trabajo de desarrollo del equipo no es una tarea fácil. Como tal, es muy importante seleccionar una herramienta que ayude a lograr el cumplimiento sin imponer demasiados gastos generales y sin el requisito de procedimientos manuales adicionales. Los siguientes puntos son factores importantes para la toma de decisiones al seleccionar la solución para el análisis estático.
1. Cobertura de las directrices de codificación de la norma
AUTOSAR C ++ 14 define un número sustancial de directrices. La versión más actualizada del estándar de codificación AUTOSAR contiene en este momento aproximadamente 400 pautas, y 350 de estas pautas se pueden aplicar con análisis estático. Respaldar esta cantidad de pautas es un desafío para los proveedores de herramientas de análisis estático, y no todas las herramientas de análisis estático disponibles en el mercado cubren el estándar lo suficiente como para cumplir con las normas. (Enchufe desvergonzado: Parasoft C / C ++test es la solución líder en este caso, que cubre el mayor número de pautas de AUTOSAR C ++ y continúa implementando más cada día).
2. Apoyo a la tecnología de análisis de datos y flujo
Las pautas definidas en el estándar de codificación AUTOSAR C ++ tienen diferentes niveles de complejidad. Algunas son pautas simples que se pueden aplicar con tecnología de análisis estático relativamente simple, pero también hay pautas que requieren análisis de flujo de control y datos sofisticados para simular las rutas en el código fuente analizado y decidir si una pauta determinada se infringe o no.
La herramienta de análisis estático que elija tiene que evaluar las rutas en el código para determinar correctamente si el índice que se utiliza para acceder a los datos en el contenedor está dentro del rango correcto o no. Muchas herramientas comerciales y la mayoría de las herramientas de código abierto del mercado aplican un análisis de flujo muy rudimentario a esta clase de problemas y, de hecho, o pasan por alto un problema en el código o informan una enorme cantidad de falsos positivos, lo que consume una gran cantidad de tiempo. para revisar y matar la productividad. Al comparar una herramienta de análisis estático, le recomiendo encarecidamente que ponga especial atención en comparar los resultados para pautas más complejas, que requieren tecnología de análisis de flujo.
3. Soporte para la calificación de herramientas
Aunque AUTOSAR C ++ no requiere explícitamente la calificación de la herramienta para aprobar la solución de análisis estático para su uso, la norma ISO 26262 sí. Por lo tanto, cuando planee utilizar AUTOSAR C ++ para optimizar el cumplimiento de la norma ISO 26262, se recomienda elegir una solución de análisis estático que admita a los usuarios finales con los certificados adecuados y un kit de calificación.
Resumen
Seguir un estándar de codificación como AUTOSAR C ++ 14 puede ayudar a las organizaciones a lograr el cumplimiento de ISO 26262, ya que existen múltiples métodos y requisitos definidos en el estándar ISO 26262 que pueden satisfacerse cumpliendo con las pautas de codificación de AUTOSAR. AUTOSAR C ++ 14 proporciona tablas de trazabilidad dedicadas que demuestran el mapeo entre los requisitos de ISO 26262 y las pautas de codificación, y los equipos que deseen optimizar sus esfuerzos de cumplimiento de ISO 26262 aplicando las pautas de codificación de AUTOSAR C ++ tendrán más éxito si están bien informados cuando seleccionan el herramientas de análisis estático para su uso en su proyecto.
“MISRA”, “MISRA C” y el logotipo del triángulo son marcas comerciales registradas de The MISRA Consortium Limited. © The MISRA Consortium Limited, 2021. Todos los derechos reservados.