Evite los defectos de código en las primeras etapas del proceso de desarrollo del producto antes de que se conviertan en una cascada de desafíos más costosos en el futuro.
¡Obtenga la cobertura MÁS AMPLIA para el cumplimiento de MISRA C! Más información >>
La Motor Industry Software Reliability Association (MISRA) se refiere al estándar de codificación legendario y ampliamente adoptado para los lenguajes C y C ++. MISRA proporciona un conjunto completo de pautas de codificación que se enfoca en proteger las aplicaciones contra violaciones de seguridad conocidas y vulnerabilidades de seguridad. La Asociación clasifica las pautas como una "regla" o una "directiva".
Una regla viene con una descripción completa del requisito de codificación y, a través del análisis estático, los desarrolladores pueden usarla para verificar que el código fuente cumpla con una guía sin la necesidad de buscar ninguna otra información. Una directiva, por otro lado, ofrece una receta importante o una guía de desarrollo que los desarrolladores deben seguir cuando, por lo general, no les es posible realizar una verificación de cumplimiento.
MISRA es un consorcio de industrias relacionadas con la automoción que se unió a principios de la década de 1990 como resultado del Programa de Investigación de Sistemas Críticos de Seguridad del Reino Unido. El gobierno del Reino Unido instituyó este programa para abordar algunos de los desafíos que enfrentó la industria automotriz debido a que los fabricantes de automóviles y camiones incrementaron el uso de software en la fabricación y operación de vehículos de carretera. Parasoft es miembro del consorcio MISRA.
Para el desarrollo de C, el último estándar MISRA C: 2012 es compatible con las especificaciones de lenguaje C90, C99, C11 y C18. La versión actual, MISRA C: 2012 (a veces escrita como MISRA C 2012 o MISRA C2012), ha evolucionado durante varios años. La enmienda 3 a MISRA C: 2012 se publicó en 2022. Para el lenguaje de programación C++, el estándar MISRA actual es MISRA C++ 2008, pero existe una versión preliminar de MISRA C++ 202X.
La Cobertura MISRA Más Amplia
Puede obtener la cobertura MISRA más amplia con soporte para la nueva enmienda 2012 de MISRA C:3 y una versión preliminar de MISRA C++ 202x en Parasoft C/C++test 2022.2.
¿Quieres aprender más? VER BAJO DEMANDA >> MISRA C:2012 AMD 3: lo que necesita saber
Nota: MISRA es un conjunto de reglas para la codificación segura, no para probar API (interfaces de programación de aplicaciones).
“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.
Cuando los desarrolladores implementan las pautas de MISRA, les ayuda a entregar un código seguro y confiable que tiene beneficios eternos. El cumplimiento de MISRA afecta el éxito y la longevidad de su producto al tiempo que reduce los costos laborales y el tiempo de comercialización.
Evite los defectos de código en las primeras etapas del proceso de desarrollo del producto antes de que se conviertan en una cascada de desafíos más costosos en el futuro.
Parasoft ofrece análisis estático MISRA como la solución recomendada por estándares de proceso como ISO 26262, DO-178C, IEC 62304, IEC 61508, EN 50128 y más.
Incorpore las reglas y directivas del código de seguridad MISRA directamente en su ciclo de vida de desarrollo de software como parte de su estrategia SAST.
Cree su propia configuración de estándares de codificación personalizada para su organización utilizando nuestro RuleWizard.
Parasoft ofrece la agregación de estándares como MISRA con todos y cada uno de nuestros otros estándares de codificación admitidos: CERT, CWE, OWASP, UL 2900 y otros.
El análisis estático MISRA de Parasoft se integra fácilmente en su canal de CI / CD optimizado con pruebas continuas que brindan software de alta calidad, seguro y protegido rápidamente.
Parasoft incorpora inteligencia artificial y aprendizaje automático para mejorar la productividad en el flujo de trabajo de análisis estático MISRA de su equipo, marcando y priorizando las infracciones de reglas que el equipo necesita corregir primero.
Además del cumplimiento de MISRA, reúnase con sus colegas ingenieros de software y verifique sistemáticamente el código de los demás en busca de errores y violaciones del estilo de codificación. La experiencia demuestra que esta actividad acelera la producción y mejora sustancialmente la calidad del código.
El cumplimiento de MISRA lo ayuda a escribir código que sea fácil de leer y comprender. No sea demasiado inteligente y escriba un código críptico que sea difícil de seguir o fácilmente malentendido. No desea que otros ingenieros o usted mismo pasen mucho tiempo tratando de descifrar un error en su código.
Cuando logra el cumplimiento de MISRA, lo ayuda a escribir un código confiable que no solo maneja los escenarios de días soleados sino también los días lluviosos. Esto incluye escenarios negativos que preparan su aplicación si se encuentra con datos no válidos.
El cumplimiento de MISRA ayuda a los programadores a escribir código teniendo en cuenta la portabilidad porque el código portátil, como POSIX y ANSI C, permite movimientos fáciles y rápidos a otras plataformas. Los desarrolladores pueden adaptar otros compiladores u otros sistemas operativos con cambios mínimos de código. Muchas veces existen oportunidades financieras o comerciales cuando se debe realizar la migración a otro sistema operativo o destino.
El cumplimiento de MISA ayuda a los codificadores a escribir código que no tiene una gran cantidad de ramas. Cuantas más ramas, mayor es la complejidad del código y mayor el número de errores potenciales en el código.
El cumplimiento de MISRA le ayuda a escribir código portátil que puede reutilizar en productos o proyectos futuros. Esto mejora la productividad y reduce los costos de mano de obra y pruebas.
Cualquier desviación de la directriz de MISRA requiere una documentación completa sobre la directriz, el alcance, la justificación, la garantía de seguridad, las consecuencias y la mitigación.
Los codificadores pueden escribir algunas construcciones de código de una manera que provoque una infracción de MISRA. Parasoft proporciona un método para filtrar conscientemente este ruido.
Una gran ventaja de proponer el cumplimiento de MISRA es que los equipos de seguridad pueden introducir y utilizar las pautas en cualquier fase de desarrollo de software de un proyecto, y las pautas son efectivas incluso si un proyecto está incompleto y parcialmente codificado.
El mayor desafío al introducir el cumplimiento de MISRA es que una gran cantidad de código puede producir una gran cantidad de advertencias. Por lo tanto, las empresas deben enfocarse en lograr que el equipo sea productivo lo antes posible al integrar el cumplimiento de MISRA en un proyecto.
Las empresas también deben concentrarse en minimizar la posibilidad de que las advertencias de análisis estático abrumen al equipo. A medida que lograr el cumplimiento de MISRA se convierte en parte de la rutina diaria de los desarrolladores, los desarrolladores pueden analizar los resultados más rápido y corregir errores de manera más eficiente.
También es importante considerar la madurez del producto en desarrollo, ya que esto afecta la forma en que la empresa puede adoptar el cumplimiento de MISRA.
El enfoque principal para adoptar el cumplimiento de MISRA para estos proyectos se llama "reconocer y aplazar". Dado que los desarrolladores están agregando un pequeño código nuevo, todos los errores de seguridad y las vulnerabilidades de seguridad que descubren se suman a la deuda técnica existente.
El enfoque recomendado para el cumplimiento de MISRA se llama enfoque de “una línea en la arena”. En un nivel alto, este enfoque significa que los desarrolladores mejoran el código nuevo a medida que lo desarrollan, al tiempo que posponen las advertencias menos críticas como deuda técnica.
Nuevo proyecto
Los desarrolladores pueden integrar el cumplimiento de MISRA en sus entornos de desarrollo desde el principio, lo que garantiza un alto estándar de calidad del código a medida que lo escriben. El enfoque de la adopción, en este caso, se llama acertadamente "greenfield".
¿Por qué Parasoft?
Parasoft C / C ++test detecta problemas complejos en tiempo de ejecución de cumplimiento de MISRA al principio de la etapa de desarrollo, sin la necesidad de ejecutar costosas pruebas de tiempo de ejecución. La prueba C / C ++ analiza las rutas de ejecución a través del código y encuentra problemas de cumplimiento de MISRA, como desreferenciación de puntero nulo, división por cero, fugas de memoria y vulnerabilidades de seguridad, como aritmética en un operando de puntero, desbordamientos de búfer, código inalcanzable y función del sistema stdlib.
Los usuarios pueden ver los resultados del cumplimiento de MISRA de la prueba C / C ++ en el panel de informes dinámicos de Parasoft, lo que permite el posprocesamiento automatizado y estrategias avanzadas de informes utilizando datos históricos. Es fácil ver los resultados de cumplimiento de MISRA en todas las compilaciones a lo largo del tiempo, incluso cuando se trabaja con grandes bases de código y código heredado donde la visibilidad del código suele ser un desafío para que pueda concentrarse rápidamente en la calidad del código recién agregado.
Con widgets que rastrean automáticamente el cumplimiento de MISRA, los usuarios obtienen una vista dinámica del proceso de cumplimiento del software y pueden producir fácilmente informes automáticos para auditorías de código y objetivos de certificación.
Preguntas Frecuentes
Incorpore en la fase de implementación de su software una solución certificada por TÜV que analiza su código según el estándar MISRA para detectar violaciones conocidas de seguridad y seguridad de las aplicaciones.
En el desarrollo ágil moderno, también puede automatizar el análisis y el cumplimiento de MISRA en su flujo de trabajo de integración continua y entrega continua (CI / CD). Asegúrese de comprender todas las infracciones identificadas y asegúrese de abordarlas todas. Si hay alguna desviación, documente minuciosamente como lo requiere el estándar MISRA.
Por último, debe presentar los siguientes artefactos para la certificación de cumplimiento de MISRA.
La última versión, MISRA C:2012, ha evolucionado durante varios años e incluye 181 reglas MISRA C y 18 directivas para un total de 199 pautas. La enmienda 3 a MISRA C:2012, publicada en 2022, contribuyó al estándar con 23 nuevas reglas y 1 directiva.
El análisis estático es el proceso de examinar el código fuente sin ejecución, generalmente con el propósito de encontrar errores o evaluar la seguridad y confiabilidad del código. Esto significa que los equipos de software y los equipos de seguridad de software pueden usar análisis estático en código parcialmente completo, bibliotecas y código fuente de terceros.
Herramientas de análisis estático ayude a los equipos a cumplir con los estándares de codificación como MISRA C/C++, AUTOSAR C++ 14, SEI CERT o su propia configuración personalizada.