Cppcheck - Cppcheck - Wikipedia
Původní autoři | Daniel Marjamäki |
---|---|
První vydání | 8. května 2007 |
Stabilní uvolnění | 2.2 / 3. října 2020[1] |
Úložiště | ![]() |
Napsáno | C ++ |
Operační systém | Cross-platform |
K dispozici v | Angličtina, holandský, Finština, švédský, Němec, ruština, japonský, srbština, španělština, francouzština, italština, korejština, čínština |
Typ | Statická analýza kódu |
Licence | GNU General Public License |
webová stránka | cppcheck |
Cppcheck je statická analýza kódu nástroj pro C a C ++ programovací jazyky. Jedná se o univerzální nástroj, který dokáže zkontrolovat nestandardní kód.[2] Tvůrcem a hlavním vývojářem je Daniel Marjamäki.
Cppcheck je svobodný software pod GNU General Public License.
Funkce
Cppcheck podporuje širokou škálu statických kontrol, které nemusí být pokryty samotným překladačem. Tyto kontroly jsou kontroly statické analýzy, které lze provádět na úrovni zdrojového kódu. Program je zaměřen spíše na kontroly statické analýzy než na heuristický v přírodě.
Mezi podporované kontroly patří:
- Automatická proměnná kontrola
- Kontrola hranic pro překročení pole
- Třídy kontrola (např. nepoužívané funkce, inicializace proměnných a duplikace paměti)
- Využití zastaralé nebo nahrazené funkce podle Otevřít skupinu[3]
- Kontrola bezpečnosti výjimek, například použití přidělení paměti a kontroly destruktoru
- Úniky paměti, např. kvůli ztrátě rozsahu bez zrušení přidělení
- Úniky zdrojů, např. kvůli zapomenutí zavřít popisovač souboru
- Neplatné použití Standardní knihovna šablon funkce a idiomy
- Odstranění mrtvého kódu pomocí možnosti unusedFunction
- Různé stylistické a výkonnostní chyby
Stejně jako u mnoha analytických programů existuje mnoho neobvyklých případů programování idiomů, které mohou být přijatelné v konkrétních cílových případech nebo mimo rámec programátora pro opravu zdrojového kódu. Studie provedená v březnu 2009 identifikovala několik oblastí, kde Cppcheck zjistil falešné poplachy, ale nespecifikoval zkoumanou verzi programu.[4] Cppcheck byl identifikován pro použití v systémech, jako jsou CERN Balíček metaanalýzy 4DSOFT,[5] pro ověřování kódu ve snímacích zařízeních detektorů částic s vysokou energií,[6] systémový monitorovací software pro radioteleskopy[7] stejně jako v analýze chyb velkých projektů, jako je OpenOffice.org[8] a Debian archiv.[9]
Rozvoj
Projekt je aktivně ve vývoji[10] a je aktivně udržován v různých distribucích.[11][12] Nalezl platné chyby v řadě populárních projektů[13] tak jako Linuxové jádro a MPlayer.[14]
Pluginy
Pluginy pro následující IDE nebo textové editory existovat[15]
- CLion[16]
- Kód :: Bloky - integrovaný.
- CodeLite - integrovaný.
- Zatmění[17]
- Emacs[18]
- gedit[19]
- Hudson[20]
- Jenkins[21]
- Kate[22]
- KDevelop[23]
- Tvůrce Qt[24]
- Vznešený text[25]
- Vizuální studio[26][27][28]
- Yasca[29]
Viz také
Reference
- ^ "Vydání - danmar / cppcheck". Citováno 10. června 2020 - přes GitHub.
- ^ „Průzkum softwarových nástrojů C a C ++ pro výpočetní vědu“ (PDF). Rada pro zařízení pro vědu a technologie. Chilbolton, Daresbury a Rutherford Appleton Laboratories. Prosince 2009. str. 14. Archivovány od originál (PDF) dne 12. března 2012. Citováno 14. září 2010.
- ^ "Systémová rozhraní". pubs.opengroup.org. Citováno 2020-09-24.
- ^ „Statická analýza kódu pro vestavěné systémy“ (PDF).
- ^ „Šíření a využití plánu znalostí (EU Deliverable DNA2.11) (PDF). 2010.
- ^ „Entwurf und Implementierung eines adaptiven, strahlentoleranten eingebetteten Systems am Beispiel eines Read-Out-Controllers (En: Vývoj a implementace adaptivního, vůči záření odolného vestavěného systému pro provoz čtecího ovladače)“ (PDF). 2010. Archivovány od originál (PDF) dne 11.03.2012.
- ^ „Koncepce monitorování systému Wettzell a první realizace“ (PDF). Mezinárodní služba VLBI pro geodézii a astrometrii. 2010. str. 447.
- ^ „Lov zranitelností ve velkém softwaru: sada OpenOffice“ (PDF).
- ^ „Představujeme projekt„ Debian's Automated Code Analysis “(DACA). LWN.net.
- ^ Cppcheck na Githubu
- ^ Cppcheck na systému sledování balíků Debianu
- ^ Port FreeBSD
- ^ "Seznam uživatelem hlášených chyb nalezených cppcheck".
- ^ "Seznam nalezených chyb". SourceForge. Archivovány od originál dne 2013-10-14.
- ^ "SourceForge.net: cppcheck". sourceforge.net. Archivovány od originál dne 18. 7. 2012.
- ^ "plugin cppcheck pro CLion". plugins.jetbrains.com.
- ^ „Cppcheclipse“. github.com.
- ^ „Flycheck“. github.com.
- ^ "plugin gedit Cppcheck". github.com. Archivovány od originál dne 2012-12-17.
- ^ „Plugin Cppcheck“. hudson-ci.org. Archivovány od originál dne 2017-10-26. Citováno 2010-09-15.
- ^ „Plugin Cppcheck“. jenkins-ci.org.
- ^ Cullmann, Christoph (02.02.2013). „Novinky o projektu Kate Project - analýza kódu“. Kate | Získejte výhodu v úpravách. Citováno 2016-12-14.
- ^ Funk, Kevin (06.12.2016). „Plugin KDevelop Cppcheck byl sloučen do kdevelop.git, bude vydán s 5.1“. Citováno 2016-12-14.
- ^ „Galerie doplňků Qt Creator“. Qt Wiki.
- ^ „Plugin Sublimelinter“. github.com.
- ^ „Doplněk Cppcheck“. Visual Studio Marketplace.
- ^ Fialová žirafa. „Homepage cppcheck-vs-addin“. Citováno 3. března 2014.
- ^ Srixe. „Jednoduchý open source nástroj pro statickou analýzu pro Visual Studio“. Archivovány od originál dne 10.02.2015. Citováno 27. srpna 2012.
- ^ Scovetta, Michael. „Yasca“.