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 >>
MISRA C es un conjunto de pautas de codificación para el lenguaje de programación C. El objetivo del estándar es aumentar la seguridad del software al evitar de manera preventiva que los programadores cometan errores de codificación que pueden provocar fallas en tiempo de ejecución (y posibles problemas de seguridad) al evitar construcciones problemáticas conocidas en el lenguaje C.
A lo largo de los años, muchos desarrolladores de sistemas integrados se quejaron (y siguen quejándose) de que MISRA C era un estándar demasiado estricto y de que el coste de escribir código totalmente compatible era difícil de justificar. Siendo realistas, dado que MISRA C se aplica en software crítico para la seguridad, el valor de aplicar el estándar a un proyecto depende de factores como:
Los programadores deben encontrar un punto intermedio práctico que satisfaga el espíritu del estándar y aún así reclamar el cumplimiento de MISRA sin desperdiciar esfuerzos en actividades que no agregan valor.
cuando primero Introducción de MISRA C en un proyecto, por lo general, cuando ya existe código, el documento clave es el plan de recategorización de pautas. Este documento captura todas las directivas y reglas e identifica qué categorías se han recategorizado. Sin embargo, es importante tener la misma categorización racional también para el código desarrollado recientemente. Por ejemplo, el siguiente diagrama muestra parte de un plan de recategorización.
El requisito de documentar las desviaciones solo es necesario para todas las reglas obligatorias. Se deben revisar todas las infracciones del código adoptado. Las desviaciones deben indicar claramente que no comprometen la seguridad. Independientemente de la recategorización, si se detecta un hallazgo que compromete la seguridad del sistema, el problema debe solucionarse. Además, las modificaciones al código existente pueden introducir otros problemas que el desarrollador no haya visto claramente.
Explora los capítulos