..
Wir können den Prozess der statischen Analyse von Quellcode als ein Verfahren, mit denen Teile unsicheren Code identifiziert werden, ohne dass die tatsächliche Ausführung des Programms zu definieren.
Die "statische Analyse kann automatisch durchgeführt werden, das heißt, durch seine eigenen spezifischen Tools nützlich, um die Tests zu unterstützen. Beobachten Sie, wie die Testphase der Software, in seiner Gesamtheit ist ein sehr komplexer Prozess und in der Regel von Programmierern, die in diesem Bereich spezialisieren wählen getan. Software-Tools gewidmet "statische Code-Analyse helfen so, Zeit und Kosten durch die Bereitstellung einer ersten Hinweis auf das, was Teile der Code ist erforderlich, zu überprüfen genauer zu reduzieren.
Die Arten von Fehlern durch die genannten Instrumente erkannt, sind zahlreich und kontinuierliche Aktualisierung, diese Art von Software Business Development, geht es in hohem Tempo für eine lange Zeit.
Wichtig in diesem Zusammenhang den historischen Wert eines Programms wie Lint , in 1979 veröffentlicht, die auf Linux läuft und widmet sich der Programmiersprache C . Lint ist ein echter Meilenstein für die statische Code-Verifikation Software, manchmal auch als identifiziert "lint-like-Tool" oder "Flusen wie Werkzeuge."
Die moderne statische Analysatoren sind auch in der Lage, den Code entwickelt, um in parallel ausgeführt werden, wodurch konkrete Vorschläge für solche Anwendungen zu überprüfen.
In den folgenden Artikel werden wir auf diese Art von Instrument zu konzentrieren, versuchen, einen kurzen Überblick über die Möglichkeiten in der statischen Code-Programme laufen parallel Sprache anzubieten C + + (der beliebtesten und vielseitigsten in der Natur). Um zu beginnen, untersuchen wir eine generische Software und flexibel wie ein PC-Lint .
PC-Lint ist entworfen, um eine optimale Leistung bei der Analyse von Programmen, die die Nutzung bieten POSIX-Threads , aber effektiv in einem allgemeinen Fall verwendet werden. Es kann nicht festgestellt, dass die Analyse durch die Software komplett automatisch und alle ist.
Es erscheint notwendig, manuell die Funktionen, die das Programm parallel laufen wird (oder auch Wettbewerber), so dass PC-Lint kann zu "statische Analyse der Fairness (dies bedeutet, Automatik) gerade in diesen Abschnitten vorgehen. Um dies zu erreichen, müssen Sie die Option-immer auf die Ausführung von PC-Lint Befehlszeile verwenden. Zum Beispiel die Aussage:
lint-sem (func, Gewinde)kommuniziert, um PC-Lint ist notwendig, um die Funktion func analysieren, wie die gleichzeitig ausgeführt werden. Sie erhalten nun Fehlermeldungen im Zusammenhang mit dieser Funktion unter Berücksichtigung, dass Sie auch behandeln parallele Ausführung von den gleichen, so zeigt zum Beispiel, wenn eine gemeinsame Variable verwendet wird, oder ohne richtige Definition eines kritischen Abschnitts geändert.
Es war in diesem Zusammenhang, wenn die gegenseitige Ausgrenzung und Synchronisierungsprimitiven umgesetzt werden mit dem Formalismus typischen POSIX-Threads, oder zum Beispiel pthread_mutex_lock und pthread_mutex_unlock, werden Sie nicht brauchen, um etwas über sie aus der Befehlszeile angeben. Ansonsten sollten die Richtlinien verwendet werden:
-Sem (Zugang, thread_lock) -Sem (release, thread_unlock)um anzuzeigen, dass der Zugang zu den kritischen Abschnitt wird durch eine Funktion namens Zugriff und die Freigabe des betreffenden Abschnitts erfolgt mit dem Feature-Release.
Wenn für die statische Analyse von unseren Code, sondern wir einen etwas leistungsstärkeren Werkzeugen und unabhängig von PC-Lint haben wollte, VivaMP könnte eine gute Wahl sein.
| |
ASP und Access Course
Verwalten einer MS Access Datenbank mit ASP. Mit nur 29 €. |
| |
HTML Kurs
Die Markup-Sprache für die Web-Rabatt -15% bis 2012.06.01. |
| |
XML Kurs
Schaffung von Einrichtungen XML, XSL und andere erweiterbare Sprachen. -15% Rabatt bis 2012.06.01. |