leer

Toolgestützte Source Code Analysen, statisch und dynamisch

Die Analyse des Quellcodes einer Anwendung gehört zu den mächtigsten und effektivsten Verfahren, um Programmierfehler frühzeitig erkennen und schließen zu können. Üblicherweise werden zwei verschiedene Ansätze verfolgt, die erst in Kombination ihr volles Potential entfalten können: Statische und dynamische Testverfahren.

Source Code Analyse

Bei Ersteren wird die Anwendung nicht ausgeführt, sondern nur anhand vordefinierter Regeln auf Fehler hin untersucht. Diese reichen von schlechtem Coding-Stil über falsche Typumwandlungen bis hin zu ungewollten Speicherlecks mit häufig gravierenden Folgen. Da eine solch statische Analyse auch viele vermeintliche Fehler (false positives) findet, bedarf es stets einer nachträglichen Beurteilung gefundener Schwachstellen.

Darüber hinaus ist der Einsatz dynamischer Testverfahren ein wichtiges Mittel, um auch die Menge übersehener Fehler (false negatives) zu minimieren und die Testqualität weiter zu steigern. Um dies zu erreichen, verfolgen dynamische Tests eine Strategie, bei der Anwendung zuerst gestartet werden muss, um sie dann – während des Betriebes – mit präparierten Eingabedaten zu versorgen und die erzeugten Ausgabedaten zu analysieren. Weicht das tatsächliche von dem erwarteten Ergebnis ab, gilt dies als Fehler, dessen Gefahrenpotential manuell überprüft und bewertet werden muss.


Weiter: Reverse Engineering