Analiza kodu źródłowego

Autor: Eugene Taylor
Data Utworzenia: 7 Sierpień 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
Analiza kodu źródłowego - Technologia
Analiza kodu źródłowego - Technologia

Zawartość

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 naprawienia ich 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.

Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

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, podczas gdy 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 przykładem są Coverity, Fortify i scentralizowane narzędzie Microsoft PREfix.