Quellcode-Analyse

Autor: Eugene Taylor
Erstelldatum: 7 August 2021
Aktualisierungsdatum: 1 Juli 2024
Anonim
c# Cäsar Verschlüsselung mit Quellcode-Analyse Teil II
Video: c# Cäsar Verschlüsselung mit Quellcode-Analyse Teil II

Inhalt

Definition - Was bedeutet Quellcode-Analyse?

Die Quellcode-Analyse ist das automatisierte Testen des Quellcodes eines Programms, um Fehler zu finden und zu beheben, bevor die Anwendung verkauft oder vertrieben wird.


Quellcode-Analyse ist gleichbedeutend mit statischer Code-Analyse, bei der der Quellcode einfach als Code analysiert wird und das Programm nicht ausgeführt wird. Dies macht das Erstellen und Verwenden von Testfällen überflüssig und unterscheidet sich möglicherweise von funktionsspezifischen Fehlern wie Schaltflächen, die eine andere Farbe haben als in den Spezifikationen angegeben. Es konzentriert sich darauf, Fehler im Programm zu finden, die sich nachteilig auf die ordnungsgemäße Funktion auswirken können, wie z. B. absturzverursachende Codezeilen.

Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt die Quellcode-Analyse

Die Quellcode-Analyse ist im Grunde ein automatisiertes Code-Debugging. Ziel ist es, Fehler zu finden, die für einen Programmierer möglicherweise nicht offensichtlich sind. Es soll Fehler wie mögliche Pufferüberläufe oder unordentliche Verwendung von Zeigern und Missbrauch von Speicherbereinigungsfunktionen finden, die alle von einem Hacker ausgenutzt werden können.


Codeanalysatoren arbeiten mit Regeln, die festlegen, wonach gesucht werden soll. Mit zu geringer Genauigkeit kann ein Analysegerät zu viele falsche Positivmeldungen ausspucken und den Benutzer mit nutzlosen Warnungen überfluten, während es zu lange dauern kann, bis eine zu hohe Genauigkeit erreicht ist. daher muss ein gleichgewicht sein.

Es gibt zwei Arten von Analysatoren:

  • Interprocedural - Erkennt Muster von einer Funktion zur nächsten und diese Muster sind korreliert, so dass der Analysator ein Modell erstellen und Ausführungspfade simulieren kann.

  • Intraprocedural - Konzentriert sich auf den Mustervergleich und hängt davon ab, nach welchen Mustern der Benutzer sucht.

Interprozedurale Analysatoren sind moderner und komplexer. Gute Beispiele hierfür sind Coverity, Fortify und das zentralisierte Tool PREfix von Microsoft.