Mi è stato chiesto di recente delle alternative a Coverity Prevent per un codice base che include sia C/C++ sia Java. Ovviamente, sul lato Java, gli strumenti gratuiti disponibili includono Findbugs (analisi del codice compilato) e PMD (analisi del codice statico). Sono molto potenti, soprattutto quando si inizia a studiare l'integrazione con gli IDE (che, di nuovo, sono gratuiti).Esiste un Findbug e/o un equivalente PMD per C/C++?
Tuttavia, le cose sono rischiosa quando si inizia a muoversi in C/C++ regno con i vari compilatori, architetture, ecc
ho proposto una varietà di strumenti per il lato Java, inclusi sia Findbugs e PMD. Quello che sto cercando è la migliore opzione per il lato C/C++ se considerato utilizzando i seguenti parametri:
- Prezzo: libero è meglio, ma può essere battuto dal valore migliore. Tuttavia, i modelli di tariffazione che fanno pagare per riga di codice sono orribili.
- Set di funzioni: in che modo questo strumento migliora la mia vita? In che modo rileva i miei errori prima di verificarli, prima di spedire il codice, ecc.?
- Usabilità: posso usare lo strumento alla mia scrivania? Posso condividere i rapporti e/oi risultati? Posso integrare lo strumento con Fogbugz (che usiamo nel mio gruppo)? Posso integrare lo strumento in CruiseControl (o nell'equivalente)?
Lo strumento finale sarebbe qualcosa di utile e utilizzabile come una combinazione di Findbug e PMD con set di funzionalità identiche, il tutto a zero dollari per posto.
Grazie per il collegamento al wiki. In questo caso, sto provando a produrre un set di funzionalità specifico anziché un elenco di tutti gli strumenti disponibili. Questa domanda sta specificatamente cercando di affrontare la risposta riflessiva che ricevo quando parlo di Findbugs e PMD: "Oh, niente di simile esiste per C++". –
Gli strumenti a cui sono collegato sono, dalla mia limitata esperienza C/C++, i principali strumenti non commerciali per l'analisi del codice statico per quelle lingue. Potrebbero essercene altri là fuori, ma se avessi bisogno di eseguire analisi statiche di qualcosa in una di quelle lingue, questi sono gli strumenti che vorrei prendere. –
@Thomas Owens, abbastanza onesto - grazie per le raccomandazioni. –