Pregunta

¿Alguien conoce un escáner de código libre y / o de código abierto para el análisis de código automatizado en C #, C o C ++?

Sé que para Java hay algunas cosas brillantes como FindBugs (Eclipse integrado), PMD o Hammurapi.

¿Hay algo similar para los lenguajes C?

wishi

¿Fue útil?

Solución

Para los lenguajes .NET, puede consultar Reflector CodeMetrics que proporciona algunos análisis de código y métricas de diseño. También eche un vistazo a todos los complementos reflectores .

También secundo la recomendación para FxCop y StyleCop.

Otros consejos

StyleCop realiza análisis a nivel fuente.

NDepend tiene una licencia de prueba de dos semanas.

Para el código C, puede echar un vistazo a Coccinelle . Ya esta usado encontrar y corregir errores en el kernel de Linux.

Resharper hace un análisis de código especialmente para señalar código redundante y fallas lógicas.

Es posible que pueda obtener algún valor al ejecutar VC ++ con el conmutador / analyse. Aunque, este interruptor en particular no está disponible con todas las ediciones. Obtenga el compilador que se incluye con Windows SDK.

A través de los comentarios aquí y algo de magia de Google, llegué a la férula: http://splint.org/

  • Parece ser bastante útil para C.
  • fácil de usar
  • no depende de Visual Studio

Las extensiones FxCop y StyleCop se ven muy sofisticadas para VisualStudio y .Net.

Gracias hasta ahora wishi

Encontrará una lista de herramientas de análisis estático gratuitas y no tan gratuitas aquí .

Gendarme es gratuito y de código abierto. Analiza a nivel de IL y proporciona información relacionada con los archivos fuente utilizando el pdb. Incluso sin los pdb, proporciona resultados pero es difícil de localizar en el código.

Tenga en cuenta que es mejor usarlo en el código de lanzamiento, lo que es inusual para los analizadores estáticos. Esto se debe al análisis de IL: el código de depuración está desordenado y conduce a más falsos positivos.

Gendarme genera un buen informe HTML y puede integrarse fácilmente en un servidor de compilación continua como cc.net.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top