Grin logo
en de es fr
Shop
GRIN Website
Publish your texts - enjoy our full service for authors
Go to shop › Computer Science - Applied

Statische Codeanalyse und Werkzeuge

Title: Statische Codeanalyse und Werkzeuge

Seminar Paper , 2010 , 8 Pages , Grade: 1.0

Autor:in: Stefan Wrobel (Author)

Computer Science - Applied
Excerpt & Details   Look inside the ebook
Summary Excerpt Details

Statische Codeanalyse ist ein Testverfahren, das
vor allem in sicherheitskritischen Bereichen, aber
auch bei weniger kritischen Anwendungen eingesetzt wird. Dieses Paper ist in zwei Teile gegliedert.
Der Erste Teil (Abschnitt 2-3) befasst sich mit
statischer Codeanalyse im Allgemeinen. Nach
einer Einordnung und Abgrenzung zu anderen
Testverfahren werden verschiedene Analysetypen
vorgestellt. Der zweite Teil (Abschnitt 4-5) befasst
sich mit Werkzeugen, die eingesetzt werden können, um eine statische Codeanalyse durchzuführen.
Nachdem in Abschnitt 4 verschiedene Anforderungen an Tools festgelegt werden, findet in Abschnitt
5 ein Vergleich mehrerer Tools statt.

Excerpt


Inhaltsverzeichnis

  • Einleitung
  • Einordnung
  • Analysetypen
    • Syntaxanalyse
    • Stilanalyse
    • Kontrollflussanalyse
    • Datenflussanalyse
  • Anforderungen an Werkzeuge
    • Umfang der Analyse
    • Zuverlässigkeit
    • Reports
    • Performanz
  • Vergleich verschiedener Werkzeuge
    • Überblick
    • Umfang der Analyse
    • Zuverlässigkeit

Zielsetzung und Themenschwerpunkte

Dieses Paper bietet einen Überblick über die statische Codeanalyse und die Werkzeuge, die dafür eingesetzt werden können. Es beleuchtet die verschiedenen Analysetypen, die Anforderungen an geeignete Werkzeuge und vergleicht schließlich verschiedene am Markt erhältliche Tools.

  • Verschiedene Arten der statischen Codeanalyse
  • Anforderungen an Werkzeuge für die statische Codeanalyse
  • Vergleich verschiedener Tools zur statischen Codeanalyse
  • Bewertung der Zuverlässigkeit verschiedener Tools
  • Der Einfluss der statischen Codeanalyse auf die Softwarequalität

Zusammenfassung der Kapitel

Einleitung: Die Einleitung betont die unvermeidbaren Fehler im Quellcode und deren besondere Bedeutung in sicherheitskritischen Systemen. Sie führt die statische Codeanalyse als Methode zur frühzeitigen Fehlererkennung ein, die auch schwer auffindbare Laufzeitfehler aufdecken kann.

Einordnung: Dieses Kapitel differenziert zwischen dynamischen und statischen Testverfahren. Während dynamische Tests die Funktionalität durch Codeausführung prüfen, arbeitet die statische Codeanalyse rein quelltextbasiert und wird als White-Box-Testverfahren eingeordnet. Der prinzipielle Ablauf der statischen Codeanalyse wird grafisch veranschaulicht.

Analysetypen: Hier werden verschiedene Analysetypen im Detail beschrieben: die Syntaxanalyse (Prüfung auf Syntax- und Grammatikfehler), die Stilanalyse (Prüfung des Programmierstils gemäß Richtlinien wie Misra C oder JSF C++), die Kontrollflussanalyse (Analyse des Programmablaufs zur Erkennung unerreichbaren Codes) und die Datenflussanalyse (Untersuchung des Variablenzustands entlang verschiedener Ausführungspfade zur Identifizierung von Fehlern wie undefinierter Variablenverwendung).

Anforderungen an Werkzeuge: Dieses Kapitel listet die wichtigen Anforderungen an Werkzeuge für die statische Codeanalyse auf. Dazu gehören der Umfang der Analyse (möglichst viele effektive Analysen), die Zuverlässigkeit (geringe False-Positives und False-Negatives), die Qualität der Reports (Übersichtlichkeit, Filterfunktionen, Exportmöglichkeiten) und die Performanz (schnelle Analyse, auch bei großen Codebasen).

Vergleich verschiedener Werkzeuge: Der letzte Abschnitt bietet einen Überblick über verschiedene Tools (Coverity, Polyspace, CodeSonar, Klocwork, QA-C/C++) und vergleicht sie hinsichtlich des Umfangs der durchgeführten Analysen und ihrer Zuverlässigkeit (False-Positive-Rate). Es werden die Stärken und Schwächen der einzelnen Tools in Bezug auf die zuvor definierten Anforderungen herausgestellt.

Schlüsselwörter

Statische Codeanalyse, dynamische Codeanalyse, White-Box-Test, Syntaxanalyse, Stilanalyse, Kontrollflussanalyse, Datenflussanalyse, Werkzeuge, Coverity, Polyspace, CodeSonar, Klocwork, QA-C/C++, False Positives, False Negatives, Misra C, JSF C++, Softwarequalität, Sicherheit, eingebettete Systeme.

Häufig gestellte Fragen zur Statischen Codeanalyse

Was ist der Inhalt dieses Dokuments?

Dieses Dokument bietet einen umfassenden Überblick über die statische Codeanalyse. Es beinhaltet ein Inhaltsverzeichnis, die Zielsetzung und Themenschwerpunkte, Zusammenfassungen der einzelnen Kapitel und eine Liste der Schlüsselwörter. Der Fokus liegt auf den verschiedenen Arten der statischen Codeanalyse, den Anforderungen an geeignete Werkzeuge und einem Vergleich verschiedener am Markt erhältlicher Tools.

Welche Arten der statischen Codeanalyse werden behandelt?

Das Dokument beschreibt detailliert vier Analysetypen: die Syntaxanalyse (Prüfung auf Syntax- und Grammatikfehler), die Stilanalyse (Prüfung des Programmierstils gemäß Richtlinien wie Misra C oder JSF C++), die Kontrollflussanalyse (Analyse des Programmablaufs zur Erkennung unerreichbaren Codes) und die Datenflussanalyse (Untersuchung des Variablenzustands zur Identifizierung von Fehlern wie undefinierter Variablenverwendung).

Welche Anforderungen werden an Werkzeuge für die statische Codeanalyse gestellt?

Wichtige Anforderungen an Werkzeuge sind: der Umfang der Analyse (möglichst viele effektive Analysen), die Zuverlässigkeit (geringe False-Positives und False-Negatives), die Qualität der Reports (Übersichtlichkeit, Filterfunktionen, Exportmöglichkeiten) und die Performanz (schnelle Analyse, auch bei großen Codebasen).

Welche Werkzeuge werden verglichen?

Der Vergleich umfasst verschiedene Tools wie Coverity, Polyspace, CodeSonar, Klocwork und QA-C/C++. Der Vergleich konzentriert sich auf den Umfang der durchgeführten Analysen und deren Zuverlässigkeit (False-Positive-Rate). Stärken und Schwächen der einzelnen Tools im Hinblick auf die zuvor definierten Anforderungen werden hervorgehoben.

Wie wird die statische Codeanalyse im Kontext anderer Testverfahren eingeordnet?

Das Dokument differenziert zwischen dynamischen und statischen Testverfahren. Dynamische Tests prüfen die Funktionalität durch Codeausführung, während die statische Codeanalyse rein quelltextbasiert arbeitet und als White-Box-Testverfahren eingeordnet wird. Der prinzipielle Ablauf der statischen Codeanalyse wird veranschaulicht.

Welche Bedeutung hat die statische Codeanalyse für die Softwarequalität und Sicherheit?

Die Einleitung betont die unvermeidbaren Fehler im Quellcode und deren besondere Bedeutung in sicherheitskritischen Systemen. Die statische Codeanalyse wird als Methode zur frühzeitigen Fehlererkennung eingeführt, die auch schwer auffindbare Laufzeitfehler aufdecken kann. Der Einfluss der statischen Codeanalyse auf die Softwarequalität wird ebenfalls angesprochen.

Welche Schlüsselwörter beschreiben den Inhalt des Dokuments?

Schlüsselwörter sind: Statische Codeanalyse, dynamische Codeanalyse, White-Box-Test, Syntaxanalyse, Stilanalyse, Kontrollflussanalyse, Datenflussanalyse, Werkzeuge, Coverity, Polyspace, CodeSonar, Klocwork, QA-C/C++, False Positives, False Negatives, Misra C, JSF C++, Softwarequalität, Sicherheit, eingebettete Systeme.

Excerpt out of 8 pages  - scroll top

Details

Title
Statische Codeanalyse und Werkzeuge
College
University of Applied Sciences Offenburg
Course
IT-Anwendungen
Grade
1.0
Author
Stefan Wrobel (Author)
Publication Year
2010
Pages
8
Catalog Number
V195625
ISBN (eBook)
9783656218968
ISBN (Book)
9783656928263
Language
German
Tags
Codeanalyse Testverfahren Whitebox Blackbox Codesonar Klocwork Polyspace Coverity QA-C Misra Kontrollussanalyse Syntaxanalyse Stilanalyse Datenflussanalyse statischer Test Unittest Funktionstest
Product Safety
GRIN Publishing GmbH
Quote paper
Stefan Wrobel (Author), 2010, Statische Codeanalyse und Werkzeuge, Munich, GRIN Verlag, https://www.grin.com/document/195625
Look inside the ebook
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
  • Depending on your browser, you might see this message in place of the failed image.
Excerpt from  8  pages
Grin logo
  • Grin.com
  • Payment & Shipping
  • Contact
  • Privacy
  • Terms
  • Imprint