Un camino más sencillo hacia el cumplimiento de MISRA

por Mark Lambert

28 de septiembre de 2017

5  min leer

La tarea de crear aplicaciones de software integradas ya estaba plagada de desafíos, y luego, con la introducción de IoT, ahora todo parece tener una conexión a Internet, lo que aumenta simultáneamente la complejidad de los sistemas y el riesgo de vulnerabilidades de seguridad. Para ayudar a mitigar estos desafíos, muchas personas recurren a las pautas de MISRA.

Las "Directrices para el uso del lenguaje C en sistemas críticos" de la Asociación de confiabilidad de software de la industria del motor (MISRA) (conocido como MISRA C 2012) es una definición de un subconjunto del lenguaje C diseñado para minimizar errores potenciales, vulnerabilidades de seguridad y errores que provocan fallas en el programa o errores graves. Aunque inicialmente se crearon para sistemas automotrices, las pautas han sido adoptadas por muchas otras industrias para aplicaciones críticas para la seguridad. En todos los casos, determinar el cumplimiento, que se requiere cada vez más en las relaciones entre proveedores y clientes, es complejo y requiere mucho tiempo.

Informes y análisis de cumplimiento

Hay muchas herramientas en el mercado que informan errores que indican cuándo el código infringe una directriz, pero pocas herramientas simplifican el proceso de presentación de informes y documentación necesarios para demostrar el cumplimiento, sin importar la implementación de las directrices en el proceso de desarrollo de software.

Para agilizar todo el proceso de lograr, documentar y mantener el cumplimiento de MISRA durante todo el ciclo de vida del producto, diseñamos nuestra plataforma de informes y análisis (Parasoft DTP) para brindar automatización y asistencia, junto con nuestra herramienta de prueba C y C ++, prueba C / ++. En esta publicación, pensé que podría explicar mejor cómo pueden aprovechar estas herramientas juntas para hacer Misra cumplimiento menos de un dolor de cabeza.

Navegando por el camino del cumplimiento lleno de baches

El cumplimiento es un estado binario: el código está en cumplimiento o no, y las pautas de MISRA esperan que todo el código cumpla con las directivas y reglas establecidas en el estándar. Como tal, lograr el cumplimiento total en un proyecto grande y complejo no es una empresa fácil. Además del desafío, muchas relaciones entre proveedores y clientes requieren que se demuestre el cumplimiento del estándar a través de la documentación.

Para aclarar mejor el procedimiento para implementar las pautas de codificación de MISRA, MISRA emitió pautas de cumplimiento en 2016 para ayudar a las organizaciones de desarrollo a lograr y documentar el cumplimiento. Para simplificar este proceso a través de la automatización, se requiere lo siguiente:

  • Vistas de alto nivel en tiempo real del estado general del proyecto para garantizar que el cumplimiento se incorpore al proceso de desarrollo
  • Creación automatizada de informes que cumplen con las pautas de cumplimiento de MISRA (por ejemplo, Cumplimiento de MISRA: 2016) para reducir la carga de generar la documentación de respaldo
  • Flujos de trabajo rápidos y sencillos para investigar infracciones y priorizar las acciones de remediación para agilizar el proceso de llevar un proyecto 'encaminado' hacia el cumplimiento

Con estas pautas en consideración, diseñamos la plataforma de informes y análisis (DTP) para personalizar y ampliar las implementaciones de la prueba C / C ++, proporcionando análisis inteligentes para brindar a las partes interesadas una comprensión más profunda de la cobertura de las pruebas y los riesgos introducidos por el cambio. Para el estándar MISRA, DTP simplifica el proceso de lograr, hacer cumplir y documentar el cumplimiento, al tiempo que demuestra la funcionalidad, el rendimiento y la seguridad.

El panel de cumplimiento de MISRA

La estado actual de cumplimiento de un proyecto es una métrica importante, al igual que los diversos puntos más finos en la medición del cumplimiento. DTP proporciona un panel de control integral de cumplimiento de MISRA que proporciona una evaluación sobre el terreno del proyecto. Esta vista de alto nivel es importante tanto para los gerentes como para los desarrolladores, ya que les brinda a los gerentes una vista fácilmente accesible del cumplimiento de un vistazo y les brinda a los desarrolladores un punto de partida para avanzar hacia el cumplimiento, lo que ayuda a priorizar el trabajo.

Nuevo llamado a la acción
Figura 1: Un ejemplo del panel de control de cumplimiento MISRA de DTP.

Paquete de cumplimiento de MISRA

Además del panel de cumplimiento de MISRA, Parasoft proporciona un paquete de cumplimiento completo, que aborda específicamente los requisitos de documentación de cumplimiento de MISRA. El paquete de cumplimiento de MISRA para DTP proporciona documentación automatizada de acuerdo con las pautas de cumplimiento de MISRA: 2016, lo que reduce en gran medida el tiempo y el esfuerzo necesarios para demostrar el cumplimiento a una agencia de certificación. Éstos incluyen:

El plan de aplicación de las pautas

El Plan de cumplimiento de las pautas de MISRA demuestra cómo se verifica cada una de las pautas de MISRA. En la mayoría de los casos, esto muestra el vínculo entre una directiva o regla MISRA y las reglas de análisis de código asociadas o la función DTP. Vea el ejemplo a continuación:


Figura 2: Un ejemplo del informe del Plan de cumplimiento de las directrices MISRA de DTP.

El plan de reclasificación de la guía

El Plan de reclasificación de las pautas de MISRA se utiliza para comunicar la importancia acordada de las pautas como parte de la relación proveedor / cliente. El documento demuestra cómo se clasifica cada directriz específicamente para el proyecto actual. Las pautas obligatorias y requeridas no se pueden degradar a un nivel inferior; sin embargo, un proyecto puede decidir actualizar las pautas requeridas o de asesoramiento a un entorno más estricto, y el asesoramiento puede no aplicarse (es decir, hacer que no sea necesario para el cumplimiento). Vea un ejemplo de un plan de reclasificación a continuación:


Figura 3: Un ejemplo del informe del plan de reclasificación de MISRA de DTP.

Informe de desviaciones

El Informe de desviaciones de MISRA documenta las infracciones desviadas de las pautas con la justificación adecuada. Cada vez que se detecta una infracción de las reglas, pero se permite que permanezca, debe documentarse en el informe de desviaciones. En la mayoría de los casos, estos son errores suprimidos informados por el análisis de código. A continuación se muestra un informe de ejemplo:


Figura 4: Un ejemplo del informe de desviación MISRA de DTP

Resumen de cumplimiento de las pautas

El Resumen de cumplimiento es el registro principal del cumplimiento general del proyecto. Este informe documenta el estado de cumplimiento de cada directriz, así como las desviaciones o recategorizaciones asociadas. A continuación se muestra un ejemplo:


Figura 5: Un ejemplo del Informe de cumplimiento de MISRA de DTP

Ponerse en camino hacia el cumplimiento

En la mayoría de los casos, al analizar el código fuente para el cumplimiento de MISRA, las infracciones son infracciones de las reglas de análisis estático. En un proyecto grande, inicialmente se informarán muchos errores, y administrarlos de manera rápida y eficiente es fundamental. El Explorador de infracciones de DTP es la herramienta clave para navegar, evaluar, priorizar y asignar errores informados para su corrección. Si una infracción de la regla de análisis estático resulta ser válida pero justificable, considerada inofensiva o no aplicable, un desarrollador puede suprimir el error y se puede documentar una desviación. Estas desviaciones se informan en cada nivel del proyecto, en el panel de control y en la documentación de cumplimiento. A continuación, se muestra un ejemplo del Explorador de infracciones:


Figura 6: Un ejemplo de violación que se investiga en el Explorador de violaciones de DTP.

Aplicación, cumplimiento y trazabilidad

En resumen, al desarrollar software crítico para la seguridad, el estándar MISRA proporciona un conjunto completo de pautas para proteger contra vulnerabilidades de seguridad y fallas del programa. Sin embargo, aplicar estas pautas y demostrar el cumplimiento puede ser demasiado oneroso, y simplificar esto es fundamental para garantizar los entregables de software a tiempo.

Para permitir que el software le ayude con este trabajo, puede:

  • Utilice la prueba C / C ++ para verificar las pautas de MISRA a través del análisis de código estático después de cada compilación de software, lo que garantiza la aplicación diaria.
  • Cree descripciones generales de alto nivel e informes detallados, obtenidos rápidamente del Paquete de cumplimiento MISRA de DTP, para demostrar el cumplimiento de manera eficiente.
  • Aproveche DTP para la trazabilidad de los requisitos del proyecto a las pruebas, un requisito importante no solo de MISRA, sino también de los estándares de seguridad.

Al final del día, apoyando Misra el cumplimiento durante todo el ciclo de vida es importante para la aplicación y la trazabilidad continuas, y la automatización de la documentación, según las pautas de cumplimiento de MISRA: 2016, es clave para ahorrar tiempo y frustración al tratar con esta pauta.

Nuevo llamado a la acción

“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.

por Mark Lambert

Mark, vicepresidente de productos de Parasoft, es responsable de garantizar que las soluciones de Parasoft brinden un valor real a las organizaciones que las adoptan. Mark ha estado con Parasoft desde 2004, trabajando con una amplia variedad de clientes de Global 2000, desde implementaciones de tecnología específicas hasta iniciativas de mejora de procesos SDLC más amplias.

Reciba las últimas noticias y recursos sobre pruebas de software en su bandeja de entrada.