Scanner di codice statico gratuito per C / C ++ / C # [chiuso]
-
20-08-2019 - |
Domanda
Qualcuno conosce uno scanner di codice open source e / o gratuito per l'analisi automatica del codice in C #, C o C ++?
So che per Java ci sono cose geniali come FindBugs (Eclipse integrato), PMD o Hammurapi.
Esiste qualcosa di simile per i linguaggi C?
Wishi
Soluzione
Per le lingue .NET, puoi guardare Reflector CodeMetrics che fornisce alcune analisi del codice e metriche di progettazione. Dai un'occhiata anche a tutti i componenti aggiuntivi di Reflector .
Secondo anche la raccomandazione per FxCop e StyleCop.
Altri suggerimenti
FxCop è uno scanner gratuito per .Net.
http://msdn.microsoft.com/ it-it / library / bb429476 (vs.80) aspx
StyleCop esegue l'analisi a livello di sorgente.
NDepend ha una licenza di prova di due settimane.
Per il codice C, puoi dare un'occhiata a Coccinelle . È già usato per trovare e correggere i bug nel kernel di Linux.
Resharper esegue alcune analisi del codice soprattutto per evidenziare errori ridondanti di logica e di codice.
Potresti essere in grado di ottenere un valore dall'esecuzione di VC ++ con l'opzione / analizza. Tuttavia, questo particolare interruttore non è disponibile con ogni edizione. Ottieni il compilatore fornito con Windows SDK.
Attraverso i commenti qui e un po 'di magia di Google sono venuto a splint: http://splint.org/
- Sembra essere molto utile per C.
- facile da usare
- non dipendente da Visual Studio
Le estensioni FxCop e StyleCop sembrano molto sofisticate per VisualStudio e .Net.
Grazie finora, Wishi
Troverai un elenco di strumenti di analisi statica gratuiti e non così gratuiti qui .
Gendarme è gratuito e open source. Analizza a livello di IL e fornisce informazioni relative ai file sorgente usando il pdb. Anche senza pdb fornisce risultati ma difficile da localizzare nel codice.
Nota che è meglio usarlo sul codice di rilascio, cosa insolita per gli analizzatori statici. Ciò è dovuto all'analisi IL: il codice di debug è ingombra e porta a più falsi positivi.
Gendarme genera un bel report HTML e può essere facilmente integrato in un server a build continua come cc.net.