QA-C Fehler im Datenfluss erkennen QA-Cpp Fehler im Datenfluss erkennen


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