Nowa wersja cppcheck 2.6 została już wydana i to są jej nowości

Uwolnienie wersja statycznego analizatora kodu cppcheck 2.6Że pozwala wykryć różnego rodzaju błędy w kodzie C i C++nawet przy użyciu niestandardowej składni typowej dla systemów wbudowanych.

Dostarczony jest zestaw wtyczek, dzięki którym zapewniona jest integracja cppcheck z różnymi systemami rozwoju, ciągłej integracji i testowania, a także funkcje takie jak sprawdzanie zgodności kodu ze stylem kodowania.

Aby przeanalizować kod, możesz użyć zarówno własnego parsera, jak i zewnętrznego parsera Clang. Zawiera również skrypt donate-cpu.py, który zapewnia lokalne zasoby do wspólnej pracy nad przeglądem kodu dla pakietów Debiana.

Rozwój cppcheck skupia się na identyfikacji problemów związanych z nieokreślonym zachowaniem oraz użycie konstrukcji, które są niebezpieczne z punktu widzenia bezpieczeństwa.

Celem jest również zminimalizowanie fałszywych alarmów. Wśród zidentyfikowanych problemów: wskaźniki do nieistniejących obiektów, dzielenie przez zero, przepełnienia liczb całkowitych, nieprawidłowe operacje przesuwania bitów, niepoprawne konwersje, problemy z pamięcią, nieprawidłowe użycie STL, wyłuskiwanie pustych wskaźników, stosowanie sprawdzeń po dostępie rzeczywistym do bufora, przepełnienie limitów bufora przy użyciu niezainicjowanych zmiennych.

Główne nowe funkcje cppcheck 2.6

W tej nowej wersji sDodaliśmy różne testy do jądra parsera, wśród których wyróżnia się weryfikacja braku deklaracji zwrotu w treści funkcji, nakładanie się rekordów danych, niezdefiniowanych definicji zachowań, a także weryfikacja dla porównywanej wartości jest poza zakresem reprezentacji wartości typu.

Kolejną wyróżniającą się nowością jest optymalizacja kopiowania nie dotyczy return std :: move (local);, plus dodano obsługę wyświetlania komunikatów diagnostycznych w różnych kolorach dla platform Unix oraz znacznik biblioteki może teraz zawierać tag dla inteligentnych wskaźników, które mają unikalną właściwość. Ostrzeżenie o zawieszonym łączu jest teraz wysyłane do tego typu inteligentnych wskaźników.

Ponadto, Kontrole Misra C 2012 zostały w pełni wdrożone, łącznie z poprawką 1 i poprawką 2, z wyjątkiem przepisów 1.1, 1.2 i 17.3. Kompilator powinien wykonać sprawdzenia 1.1 i 1.2. Kompilator taki jak GCC może sprawdzić 17.3.

Z innych zmian, które się wyróżniają tej nowej wersji:

  • Plik nie może być otwierany jednocześnie w celu odczytu i zapisu w różnych strumieniach;
  • Dodano analizę symboliczną dla ValueFlow. Przy obliczaniu różnicy między dwiema nieznanymi zmiennymi używana jest prosta delta;
  • Reguły używane dla listy tokenów „definiuj” mogą również odpowiadać #include;
  • Znacznik biblioteki może teraz zawierać tag a więc darmowe funkcje, które mogą akceptować kontenery, takie jak std :: size, std :: empty, std :: begin, std :: end itp. możesz określić yeld lub akcję dla kontenerów;
  • Naprawiono problemy z obsługą parametru –cppcheck-build-dir;
    htmlreport może teraz wyświetlać informacje o autorze (za pomocą git obwinia);
  • Rozszerzone wydawanie ostrzeżeń dotyczących zmiennych, które nie są stałe, ale mogą stać się stałe;
  • Nagromadzone błędy i braki analizatora zostały naprawione.

Wreszcie, jeśli chcesz dowiedzieć się więcej o tej nowej wersji, możesz skonsultować się szczegóły w poniższym linku.

Jak zainstalować cppcheck w systemie Linux?

Dla tych, którzy są zainteresowani możliwością zainstalowania cppcheck w swojej dystrybucji Linuksa, mogą postępować zgodnie z instrukcjami, które udostępniamy poniżej.

Jeśli jesteś użytkownikiem Debiana lub jakiejkolwiek innej dystrybucji opartej lub wywodzącej się z niej, takiej jak Deepin lub Ubuntu, możesz zainstalować bezpośrednio z terminala, wpisując następujące polecenie:

sudo apt-get install cppcheck

Teraz dla tych, którzy są użytkownikami Fedory i pochodnymi, mogą przeprowadzić instalację, wpisując następujące polecenie:

sudo yum instalar cppcheck

Lub dla tych, którzy są użytkownikami Arch Linux lub jakiejkolwiek innej jego pochodnej, mogą zainstalować za pomocą następującego polecenia:

sudo pacman -S cppcheck


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.