Fehler im Datenfluss erkennen

Durch die hochentwickelte Datenflussanalyse ist es unseren Toolsets möglich, kritische Fehler in Bezug auf Control Flow, Variable States und Library Benutzung zu identifizieren. Die Datenflussanalyse-Engine verfügt über eine fortschrittliche industriegeprüfte SMT-Solver-Engine (Satisfiability Modulo Theories). Diese Technologie wurde für tiefgreifende statische Analysetools entwickelt.


Die Kombination des SMT-Solvers mit der langjährigen Erfahrung in der Sprache und dem Parsen führt zu einer außergewöhnlich akuraten Datenfluss- und Semantikmodellierung von C und C++-Code - die Grundlage für eine Reihe von einzigartigen Analysechecks.

Sicherheitskritische Probleme:

  • Buffer under- and overflow
  • Arithmetic overflow and wraparound
  • Format string mis-use

Zum Absturz führende Fehler:

  • Null pointer operations, invalid pointer values, operations on unrelated pointers
  • Divide-by-zero
  • Uncaught exceptions, throw-catch specification mismatches, improper exception use

Probleme mit Logikfehlern:

  • Invariant (always true/false) logic and unreachable code
  • Unset variables
  • Redundant expressions, initializations and assignments
  • Infinite loops
  • Return value mismatches

Speicherprobleme:

  • Memory allocation mismatches
  • Memory leaks

Falscher API-Gebrauch:

  • Standard library pre- and post-condition verification

Wie ist der Programmstatus während des symbolischen Ablaufs? Da die Datenflussanalyse sehr tief reicht, kann sie darauf präzise Auskunft geben. Die Inter-Function Analyse bietet eine Verbindung der aktuellen Call-Argumente und den Funktionsparametern, was die Präzision der Analyse noch weiter verbessert. Pfade und Werte zu jedem entdeckten Fehler werden durch Sub-Messages angezeigt.

Weltweit suchen Entwickler noch immer nach einer Lösung, wie Programmierstandards in Zukunft mit einer qualifizierten Fehlersuche erfüllt werden können. Dabei gibt es QA-C/QA-C++ schon heute! Die Investition in die Fehleranalyse mit QA-C/QA-C++ zahlt sich aus – das zeigt die Praxis an vielen Beispielen der vergangenen Jahre. QA-C/QA-C++ entdeckt nicht nur Fehler, sondern hilft auch, sie erst gar nicht entstehen zu lassen.

 

 

* Beinhaltet Yices™ decision procedures technology unter der Lizenz von SRI International®

Start
Trial
QA-Systems