scanner de código estática livre para C / C ++ / C # [fechado]
-
20-08-2019 - |
Pergunta
Alguém sabe um open-source e / ou código-varredor livre para análise de código automatizado em C #, C ou C ++?
Eu sei que para Java há algumas coisas brilhante como FindBugs (Eclipse integrado), PMD, ou Hamurabi.
Existe alguma coisa semelhante para o C-línguas?
Wishi
Solução
Para linguagens .NET, você pode olhar para refletor CodeMetrics que fornece algumas métricas de análise de código e de design. Também dê uma olhada em todos os refletor suplementos .
Eu também segundo a recomendação para FxCop e StyleCop.
Outras dicas
FxCop é um scanner livre para .Net.
http://msdn.microsoft.com/ en-us / library / bb429476 (vs.80) .aspx
StyleCop faz a análise do nível de fonte.
NDepend tem uma licença de teste de duas semanas.
Para código C, você pode dar uma olhada em Coccinelle . Ele já é usado para encontrar e corrigir bugs no kernel do Linux.
ReSharper faz alguma análise de código, especialmente por apontar falhas de código e lógicas redundantes.
Você pode ser capaz de obter algum valor fora de funcionar VC ++ com / analisar switch. Embora, este interruptor particular não está disponível com cada edição. Obter o compilador que acompanha o Windows SDK.
Através os comentários aqui e alguns google mágica cheguei a tala: http://splint.org/
- Parece ser bastante útil para C.
- fácil de usar
- não Visual Studio dependente
O FxCop e StyleCop extensões olhar muito sofisticado para VisualStudio e .Net.
Graças até agora, Wishi
Você vai encontrar uma lista de ferramentas gratuitas e não tão livre de análise estática aqui .
Gendarme é livre e open source. Ele analisa a nível IL e fornece informações relacionadas com os arquivos de origem usando a APO. Mesmo sem APO é ele fornece resultados, mas difícil de localizar no código.
Note que o melhor é usá-lo em código de liberação, o que é incomum para os analisadores estáticos. Isto é devido a análise IL:. O código de depuração é confuso e leva a mais falsos positivos
Gendarme gera um relatório agradável HTML e pode ser integrado facilmente em um servidor de compilação contínua como cc.net.