Spisu treści:
Definicja - Co oznacza analiza kodu źródłowego?
Analiza kodu źródłowego to automatyczne testowanie kodu źródłowego programu w celu znalezienia błędów i ich naprawienia przed sprzedażą lub dystrybucją aplikacji.
Analiza kodu źródłowego jest równoznaczna z analizą kodu statycznego, gdzie kod źródłowy jest analizowany po prostu jako kod, a program nie działa. Eliminuje to potrzebę tworzenia przypadków testowych i korzystania z nich oraz może oddzielić się od błędów specyficznych dla funkcji, takich jak przyciski w innym kolorze niż to, co mówią specyfikacje. Koncentruje się na wyszukiwaniu błędów w programie, które mogą być szkodliwe dla jego prawidłowego działania, takich jak linie kodu powodujące awarie.
Techopedia wyjaśnia analizę kodu źródłowego
Analiza kodu źródłowego jest w zasadzie automatycznym debugowaniem kodu. Celem jest znalezienie błędów i usterek, które mogą nie być oczywiste dla programisty. Ma na celu wykrycie błędów, takich jak możliwe przepełnienie bufora lub niechciane użycie wskaźników i niewłaściwe użycie funkcji zbierania śmieci, z których wszystkie mogą być wykorzystane przez hakera.
Analizatory kodu działają przy użyciu reguł, które mówią mu, czego należy szukać. Przy zbyt małej precyzji analizator może wyrzucić zbyt wiele fałszywych alarmów i zalać użytkownika bezużytecznymi ostrzeżeniami, zaś zbyt duża precyzja może zająć zbyt długo; dlatego musi być równowaga.
Istnieją dwa rodzaje analizatorów:
- Interprocedural - Wykrywa wzorce od jednej funkcji do drugiej, a wzorce te są skorelowane, dzięki czemu analizator może utworzyć model i symulować ścieżki wykonania.
- Intraprocedural - Koncentruje się na dopasowywaniu wzorów i zależy od tego, jakiego rodzaju wzorów szuka użytkownik.
Analizatory międzyproceduralne są bardziej nowoczesne i bardziej złożone. Dobrym tego przykładem są Coverity, Fortify i scentralizowane narzędzie Microsoft PREfix.
