Seminario web bajo demanda destacado: Acelere el cumplimiento del software con IA Míralo ahora >>
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.
MISRA C 2023 consolida MISRA C 2012 y todas las enmiendas y correcciones que se han publicado hasta la fecha. El estándar admite el lenguaje de programación C, versiones C90, C99, C11 y C18. Parasoft C/C++test es totalmente compatible con MISRA C 2023 y lo ha puesto a disposición de los equipos de desarrollo de software que buscan garantizar la implementación de un código que cumpla con el último estándar de codificación en seguridad y protección.
MISRA C++ 2023 se espera que se lance este año. Combina las pautas de codificación de MISRA C++ 2008 y AUTOSAR C++14 con avances en la compatibilidad con los lenguajes de programación C++ C++17, C++20 y más. Parasoft C/C++test es compatible con la versión preliminar publicada de MISRA C++ 2023 que contiene las últimas reglas de C++. Los ingenieros de software tienen la capacidad de escanear su código y comenzar a mejorar sus aplicaciones que usan código C++17 y C++20 antes del lanzamiento público del estándar.
Como participante en los grupos de trabajo C y C++ de MISRA que desarrollan activamente MISRA, Parasoft se compromete a realizar actualizaciones de productos rápidamente. Los clientes reciben soporte con las últimas tecnologías para reducir continuamente los costos y entregar software seguro, confiable y compatible.
¿Quieres aprender más? VER SEMINARIO WEB BAJO DEMANDA >>
Nota: MISRA es un conjunto de reglas para la codificación segura, no para probar las API.
“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
La Motor Industry Software Reliability Association (MISRA) hace referencia al estándar de codificación legendario y ampliamente adoptado para los lenguajes C y C++. MISRA proporciona un conjunto integral de pautas de codificación que se enfoca en proteger las aplicaciones contra violaciones de seguridad conocidas y vulnerabilidades de seguridad.
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:2023, incluye 200 reglas MISRA C y 21 directivas para un total de 221 pautas. La versión anterior y la enmienda 2012 final de MISRA C:4, publicada el 15 de marzo de 2023, contribuyeron al estándar MISRA con 19 reglas nuevas y 3 directivas.
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.