Holen Sie sich die neuesten wichtigen Update-Informationen für die Log4j-Sicherheitslücke. Sehen Sie sich an, wie Sie das Problem mithilfe der Parasoft-Anleitung beheben können. Erfahren Sie mehr >>

X
C / C ++ - Laufzeitanalyse

Embedded C-Laufzeitanalyse

Unterstützt von Parasoft C / C ++ Test, der umfassendsten Lösung für Entwicklungstests für C und C ++

Laufzeitanalyse für Embedded C-Anwendungen

Der Parasoft C / C ++ - Test ermittelt Laufzeitfehler, Stabilitätsprobleme und Sicherheitslücken wie Speicherlecks, Nullzeiger, nicht initialisierten Speicher und Pufferüberläufe, indem die Laufzeit überwacht wird, wenn eine hostbasierte oder eingebettete Anwendung ausgeführt oder eine Einheit ausgeführt wird In C geschriebene Tests. Die Laufzeitkomponente ist extrem leicht und benötigt nur wenig zusätzlichen Code und Datenraum.

Wie funktioniert es?

Der Parasoft C / C ++ - Test instrumentiert automatisch die Codebasis einer Anwendung, um die Überwachung zu aktivieren, wenn die Anwendung ausgeführt wird, und um schwerwiegende Fehler, Stabilitätsprobleme und Sicherheitslücken zu identifizieren, wie z.

  • Speicherlecks
  • Speicherbeschädigung
  • Nicht initialisierten Speicher lesen
  • Zugriff auf den Speicher mit einem Zeiger außerhalb des Bereichs (z. B. Pufferüberlauf)
  • Zugriff auf den Speicher mit einem Nullzeiger
  • Verwenden von free () für einen ungültigen Zeiger

Die Laufzeitanalyse des Parasoft C / C ++ - Tests bietet vordefinierte Testkonfigurationen, um sowohl native als auch eingebettete Anwendungen mit Speicherzuordnungen im C-Stil (malloc / free) zu unterstützen. Die Laufzeitanalyse kann sowohl während des Komponententests durchgeführt werden, um bestimmte Szenarien und Ausführungspfade zu validieren, als auch während des Funktionstests, um die vollständig integrierte Anwendung zu überwachen.

Fehler, die während des Laufzeit-Tests gefunden wurden, können direkt in der IDE des Entwicklers dargestellt und mit anderen Testergebnissen und Qualitätsmetriken wie Codeabdeckung oder statischen Analyseergebnissen aus dem Parasoft C / C ++ - Test korreliert werden, sodass der Benutzer eine erhalten kann Vollständiges Bild der getesteten Anwendung, um die Ursache von Laufzeitfehlern besser verstehen zu können.

Eigenschaften

Der Parasoft C / C ++ - Test überwacht eine laufende Anwendung und erkennt Laufzeitprobleme (z. B. Speicherverluste, Speicherbeschädigung, Lesen von nicht initialisiertem Speicher, Pufferüberläufe), die zu Stabilitätsproblemen, Funktionsstörungen oder Sicherheitslücken führen können. Im Gegensatz zur statischen Analyse, bei der Warnungen nicht unbedingt zu Fehlern im laufenden Code führen (auch als False Positives bezeichnet), sind bei der dynamischen Analyse gefundene Fehler immer True Positives.

Der Parasoft C / C ++ - Test überwacht Testbinärdateien beim Ausführen von Komponententests und bietet Einblicke in den zu testenden Code, um Benutzern das Verständnis von Fehlern oder Instabilitäten beim Testen von Einheiten zu erleichtern. Die Laufzeitanalyse kann Fehler erkennen, die anhand der Ergebnisse von Komponententests nicht einfach ermittelt werden können. Beispielsweise können Speicherverluste beim Testen von Einheiten übersehen werden, da Speicherprobleme nicht überprüft werden oder die Auswirkungen auf den Speicher nicht signifikant sind. Durch das Erkennen von Laufzeitfehlern für Ausführungspfade, die durch Komponententestfälle erzwungen werden, kann der C / C ++ - Test Pfade ausführen, die beim Ausführen der ursprünglichen Anwendung nicht leicht zu erreichen sind.

Die Laufzeitanalyse kann nicht nur für native Anwendungen, sondern auch für plattformübergreifende / eingebettete Umgebungen durchgeführt werden, sodass die Analyse in der ursprünglichen Produktionsumgebung durchgeführt wird. Fehler manifestieren sich möglicherweise nicht bei der hostbasierten Entwicklung, und der Zielcode weist möglicherweise eine andere Prozessorarchitektur, andere Betriebssystem- und Geräteeinschränkungen auf. Ohne diese Einschränkungen müssten Benutzer ein kompliziertes Debuggen auf dem Ziel durchführen (vorausgesetzt, die Fehler könnten durch Erkennen erkannt werden einige sichtbare Nebenwirkungen während regelmäßiger Funktionstests).

Laufzeitfehler werden in der IDE einheitlich mit anderen Testdaten dargestellt, z. B. Codeabdeckung, Unit-Test-Fehlern oder statischen Analyseergebnissen, sodass die Hauptursache der Laufzeitfehler einfacher analysiert und verstanden werden kann.

Profitieren Sie vom Parasoft-Ansatz

Erkennen Sie echte Fehler und Sicherheitslücken frühzeitig während des Unit- und Integrationstests in der ursprünglichen eingebetteten Laufzeitumgebung

Laufzeitfehler in eingebetteten Umgebungen sind auf einer Hostplattform oft schwer zu reproduzieren (und auf Zielplattformen oft auch schwierig). Durch die Überwachung der Laufzeitausführung einer eingebetteten Anwendung in der ursprünglichen eingebetteten Laufzeitumgebung hilft Parasoft Ihnen, reale Fehler in Ihrer Software aufzudecken.

Verstehen Sie die Grundursache von Fehlern für einen vorbeugenden Ansatz

Durch die Korrelation von Laufzeitfehlern mit statischen Analyseergebnissen bietet Parasoft Benutzern die Möglichkeit, die Hauptursache von Fehlern zu verstehen und zu identifizieren. Auf diese Weise können Teams vorbeugende Verfahren in der gesamten Codebasis anwenden, um zusätzliche versteckte Fehler aufzudecken und das Auftreten von Fehlern in Zukunft zu reduzieren.

Weitere Fehler beim Unit-Test finden

Unit-Tests sind eine wichtige Testpraxis, um sicherzustellen, dass Ihr Code unter Bedingungen, die bei vollständiger Zusammenstellung der Anwendung nur schwer oder gar nicht reproduzierbar sind, wie erwartet funktioniert. Mit dem Parasoft C / C ++ - Test können Sie die Laufzeitanalyse während der Ausführung von Komponententests nutzen, um Laufzeitprobleme aufzudecken, die in der Anwendung vergraben sind und die Sie in Ihrer Vorproduktionsumgebung nicht einfach reproduzieren können.