Cppcheck
Oryginalni autorzy | Daniel Marjamäki |
---|---|
Pierwsze wydanie | 8 maja 2007 |
Wersja stabilna | |
Magazyn | |
Napisane w | C++ |
System operacyjny | Międzyplatformowe |
Dostępne w | Angielski , Holenderski , Fiński , Szwedzki , Niemiecki , Rosyjski , Japoński , Serbski , Hiszpański , Francuski , Włoski , Koreański , Chiński |
Typ | Statyczna analiza kodu |
Licencja | Powszechna Licencja Publiczna GNU |
Strona internetowa |
Cppcheck to statyczne narzędzie do analizy kodu dla języków programowania C i C++ . Jest to wszechstronne narzędzie, które może sprawdzić niestandardowy kod. Twórcą i głównym programistą jest Daniel Marjamäki.
Cppcheck jest wolnym oprogramowaniem na licencji GNU General Public License .
Cechy
Cppcheck obsługuje szeroką gamę kontroli statycznych, które mogą nie być objęte przez sam kompilator. Te kontrole to testy analizy statycznej, które można przeprowadzić na poziomie kodu źródłowego. Program jest ukierunkowany na kontrole analizy statycznej, które mają charakter rygorystyczny, a nie heurystyczny .
Niektóre z obsługiwanych kontroli obejmują:
- Automatyczne sprawdzanie zmiennych
- Sprawdzanie granic pod kątem przekroczenia tablicy
- klas (np. nieużywane funkcje, inicjalizacja zmiennych i duplikacja pamięci)
- Wykorzystanie przestarzałych lub zastąpionych funkcji zgodnie z Open Group
- Sprawdzanie bezpieczeństwa wyjątków, na przykład użycie alokacji pamięci i sprawdzanie destruktora
- Wycieki pamięci , np. z powodu utraty zakresu bez cofnięcia alokacji
- Wycieki zasobów , np. spowodowane zapomnieniem zamknięcia uchwytu pliku
- Nieprawidłowe użycie funkcji i idiomów standardowej biblioteki szablonów
- Eliminacja martwego kodu za pomocą opcji unusedFunction
- Różne błędy stylistyczne i wykonawcze
Podobnie jak w przypadku wielu programów analitycznych, istnieje wiele nietypowych przypadków programowania idiomów, które mogą być dopuszczalne w określonych przypadkach docelowych lub poza zakresem korekcji kodu źródłowego programisty. Badanie przeprowadzone w marcu 2009 roku zidentyfikowało kilka obszarów, w których Cppcheck wykrył fałszywe alarmy, ale nie określiło badanej wersji programu. Cppcheck został zidentyfikowany do użytku w systemach takich jak pakiet metaanaliz CERN 4DSOFT, do weryfikacji kodu w urządzeniach odczytujących detektory cząstek o wysokiej energii, oprogramowanie do monitorowania systemów dla radioteleskopów, a także do analizy błędów w dużych projektach, takich jak OpenOffice.org i archiwum Debiana .
Rozwój
Projekt jest aktywnie rozwijany i jest aktywnie utrzymywany w różnych dystrybucjach. Znalazł ważne błędy w wielu popularnych projektach, takich jak jądro Linuksa i MPlayer .
Wtyczki
Istnieją wtyczki do następujących IDE lub edytorów tekstu
- CLion
- Code::Blocks - zintegrowane.
- CodeLite - zintegrowany.
- Zaćmienie
- Emacsa
- edytuj
- Hudsona
- Jenkinsa
- Kate
- KDevelop
- Kreator Qt
- Wzniosły tekst
- Studio wizualne
- Yasca