Techopedia wyjaśnia analizę kodu źródłowego
analiza kodu źródłowego jest zasadniczo zautomatyzowanym debugowaniem kodu. Celem jest znalezienie błędów i usterek, które mogą nie być oczywiste dla programisty. Ma na celu znalezienie błędów, takich jak ewentualne przepełnienie bufora lub niechlujne użycie wskaźników i niewłaściwe użycie funkcji usuwania śmieci, z których wszystkie mogą być wykorzystywane przez hakera.
analizatory kodu działają przy użyciu reguł, które mówią mu, czego szukać. Przy zbyt małej precyzji analizator może wypluć zbyt wiele fałszywych alarmów i zalać użytkownika bezużytecznymi ostrzeżeniami, podczas gdy zbyt duża precyzja może trwać zbyt długo; dlatego musi być równowaga.
istnieją dwa rodzaje analizatorów:
- Interprocedural-wykrywa wzorce z jednej funkcji do drugiej, a wzorce te są skorelowane, dzięki czemu analizator może stworzyć model i symulować ścieżki wykonania.
- Intraprocedural-skupia się na dopasowywaniu wzorów i zależy od tego, jakiego rodzaju wzorów szuka użytkownik.
analizatory Międzyprocesowe są bardziej nowoczesne i bardziej złożone. Dobrymi przykładami tego są Coverity, Fortify i własny scentralizowany prefiks narzędzia Microsoftu.