tutorial tools sonar quality code c++ testing static-code-analysis cppcheck safety-critical

c++ - tools - Conjuntos de reglas para cppcheck



php code analyzer (2)

No podrá implementar todas las reglas y directivas de MISRA / JSF como reglas de comprobación de cpp, sobre todo las simples que restringen ciertas características y construcciones del lenguaje C o que están relacionadas con el estilo (algunas me vienen a la mente: espacios antes / después ./ ->, # de argumentos en una sola línea, uso de uniones para proporcionar diferentes métodos de acceso a la memoria, presencia de unsigned / signed before char, etc.).

El usuario Ira Baxter prácticamente lo escribió en un comment sobre otra pregunta tocando cppcheck: no todo se puede representar / simplificar como un patrón. Confiar en patrones para reglas personalizadas hace que sea difícil manejar y detectar problemas de nivel superior, relacionados por ejemplo con tipos (por ejemplo, sizeof () en tipos; debería analizar y recolectar tokens (typedefs, enums) usados ​​como una representación de tipo) , herencia (por ejemplo, clases, incluidas las derivadas, utilizadas tanto como virtuales como no virtuales) y alcance . Esos deben estar codificados en cppcheck (siempre se puede teclear cppcheck ...)

En cualquier caso, ¿has tocado las reglas de MISRA (o JSF)? ¿Es esto un requisito para un proyecto? De lo contrario, podría obtener una copia de las pautas MISRA (ya tiene las JSF) y verificar las que puede implementar usando patrones PCRE. Si es un requisito, le sugiero que "invierta" en un producto comercial que verifique las pautas de MISRA / JSF y use ambas herramientas.

Una nota final: no necesitas todas las reglas de MISRA / JSF, y muchas herramientas dejan un pequeño porcentaje de ellas.

Cppcheck te permite crear tus propios archivos de reglas, pero no sé qué parte de la funcionalidad de cppcheck está expuesta.

¿Alguien está trabajando en un conjunto que haría cumplir MISRA reglas de JSF o MISRA ?