# Analiza statyczna

{% hint style="info" %}
Analiza kodu bez jego uruchamiania, przeprowadzana, najczęściej przy użyciu narzędzi
{% endhint %}

Analiza przeprowadzana bez wykonywania kodu, najczęściej przy użyciu narzędzi, której celem jest wyszukanie usterek w kodzie programu lub w modelach bez uruchamiania oprogramowania.&#x20;

Narzędzia do analizy statycznej analizują kod oprogramowania.&#x20;

### Cele analizy statycznej:&#x20;

* wczesne wykrywanie usterek, jeszcze przed wykonaniem testów
* wczesne wykrywanie podejrzanych aspektów kodu lub projektu przez wyliczenie miar, takich jak wysoki stopień złożoności
* identyfikacja defektów trudnych do wykrycia przez testowanie
* wykrywanie zależności i niespójności w modelach oprogramowania
* zwiększenie pielęgnowalności kodu i projektu
* zapobieganie defektom, jeżeli zastosowane zostają wnioski z analizy procesu rozwoju oprogramowania

### Typy usterek wykrywane przez analizę statyczną

* odwołanie do niezainicjalizowanej zmiennej
* niespójne interfejsy pomiędzy modułami
* niewykorzystywane lub niepoprawnie zadeklarowane zmienne
* martwy kod
* brakująca albo błędna logika (pętle potencjalnie nieskończone)
* zbyt skomplikowane konstrukcje
* naruszenie standardów kodowania
* słabe punkty zabezpieczeń
* naruszenie reguł składni kodu i modeli oprogramowania
