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
BLOG

Vereinfachen und optimieren Sie eingebettete Tests mit dem Parasoft C / C ++ - Test 2021.1

Vereinfachen und optimieren Sie eingebettete Tests mit dem Parasoft C / C ++ - Test 2021.1 Lesezeit: 5 Minuten

Eingebettete Test- und Entwicklungsteams erhalten mit der Veröffentlichung von Parasoft die Geschwindigkeit und Effizienz einer modernen, hochautomatisierten CI / CD-Pipeline C / C ++ - Test 2021.1. Die neueste Version bietet Teams vollständig integrierte statische Tests und Unit-Tests, um kontinuierliche Compliance und Qualität zu gewährleisten.

Die neue Version setzt ihre umfassende Unterstützung für die neuesten Compliance-Standards fort, einschließlich der neuesten Version von MISRA C 2012. Um die Einhaltung der Sicherheitsrichtlinien von DISA ASD STIG effizient zu erreichen, wird mit der Version C / C ++ Test 2021.1 eine neue Konfiguration und Unterstützung eingeführt.

Diese Version bietet neue Funktionen für die Analyse der Softwarearchitektur und konzentriert sich weiterhin auf Git-basierte Workflows.

  • Spezielle GitHub-Integration mit neuen statischen Analyseberichten im SARIF-Format
  • Unterstützung für die Analyse und Durchsetzung von Softwarearchitekturen (Integration von Lattix Architect)
  • Erweiterte Erweiterung für das Visual Studio Code Plugin

Weitere wichtige Verbesserungen sind:

  • Neue Erweiterung der Codeabdeckung für CMake-Projekte
  • Optimierte C / C ++ - Testbereitstellungen
  • Unterstützung für die Berichterstellung zur Rückverfolgbarkeit von Jama-Anforderungen
  • Unterstützung für neue Compiler und IDEs

Spezielle GitHub-Integration

Die Integration von C / C ++ - Tests in GitHub-Workflows wurde jetzt optimiert. Die neue Version bietet eine spezielle GitHub-Aktion. Führen Sie den Parasoft C / C ++ - Test ausHiermit können Sie die Codeanalyse mit dem Parasoft C / C ++ - Test ausführen und die Analyseergebnisse direkt auf GitHub überprüfen. Die Dokumentation von Action enthält Beispiele für die GitHub-Workflows, die Sie als Basis für Ihre Workflows verwenden können. Lesen Sie mehr über den C / C ++ - Test GitHub Action.

Bildschirmaufnahme GitHub-Workflow, der statische Analyseergebnisse für C / C ++ - Tests enthält, die auf der Registerkarte "Sicherheit" als "Code-Scan-Warnungen" verfügbar sind.

Die neue GitHub-Aktion vereinfacht die Integration von C / C ++ - Tests in Workflows und ermöglicht neue statische Analyseberichte im SARIF-Format, die automatisch auf GitHub hochgeladen werden. Wenn der C / C ++ - Test im GitHub-Workflow enthalten ist, stehen statische Analyseergebnisse auf der Registerkarte "Sicherheit" als "Code-Scan-Warnungen" zur Verfügung. Sie sind auch in Ihren Pull-Anfragen enthalten. Dadurch wird die Bereitstellung der statischen Analyse nahtlos und vollständig in Ihre Workflows integriert.

Unterstützung für die Analyse und Durchsetzung von Softwarearchitekturen mit Lattix Architect Integration

Die richtige Softwarearchitektur hat enorme Auswirkungen auf den Entwicklungs-, Test-, Compliance- und Wartungsaufwand. Teams, die auf die Qualität ihrer Architektur achten, profitieren kurz- und langfristig. Unsere neueste Version bietet neue Funktionen zum Analysieren, Definieren und Durchsetzen von Softwarearchitekturen mit dem Lattix Architekt Integration.

Screenshot Lattix Architect-Code-Analysedaten, die mit dem C / C ++ - Test erstellt wurden, werden in einer einzigartigen visuellen Ansicht basierend auf der DSM-Technologie (Dependency Structure Matrix) angezeigt.

Lattix Architect stützt sich auf Code-Analysedaten, die durch C / C ++ - Tests erstellt wurden, und bietet seine einzigartige Visualisierung basierend auf Abhängigkeitsstrukturmatrix (DSM) -Technologie, um Architekturprobleme schnell zu identifizieren und zu beheben. Auf die DSM-basierte Visualisierung haben viele Kunden zugegriffen, um sie leichter zu verstehen als die grafische Darstellung, insbesondere bei größeren Projekten. Ein gutes Verständnis der Softwareabhängigkeiten hilft bei der Perfektionierung von Softwarearchitekturen, beim Testen und beim Erfüllen von Compliance-Anforderungen.

Die Heat Map ist eine weitere nützliche Ansicht, die Codeabdeckung, statische Analyse und Architekturergebnisse in einer ganzheitlichen Ansicht der Codequalität zusammenfasst. Es zeigt alle kritischen Qualitätsdaten durch die Linse der Architektur, wodurch Compliance-Lücken und damit Geschäftsrisiken aufgedeckt werden.

Darüber hinaus können Teams C / C ++ - Test und Lattix Architect in den CI / CD-Workflow einbeziehen und Berichte erstellen, die in die Zusammenführungsanforderungen integriert sind.

On-Demand-Webinar: Erzielen Sie mit Lattix und Parasoft in einer GitLab CI-Pipeline eine schnellere Einhaltung von ISO 26262

Erweiterte Erweiterung für das Visual Studio Code Plugin

Die Popularität unserer Erweiterung für den Visual Studio-Code wächst weiter und wird daher weiter verbessert. Unser jüngstes Update vereinfacht die VSCode-Verwendung für CI / CD-Workflows.

Benutzer können jetzt statische Analyseergebnisse, die in der Pipeline generiert wurden, direkt in diesen bevorzugten Code-Editor herunterladen und die Probleme bearbeiten, ohne zwischen VSCode und dem Browser wechseln zu müssen. Diese kleinen Produktivitätsdinge sind uns wichtig!

Es gibt auch einen speziellen Befehl für GitHub, der Ihr aktuelles Repository erkennt und automatisch den Speicherort des statischen Analyseberichts ermittelt, der von der erstellt wurde Führen Sie den Parasoft C / C ++ - Test GitHub aus Aktion. Sobald die Ergebnisse importiert wurden, können Sie sie in der Problemansicht analysieren und direkt zum Problemcode springen, um das Problem zu beheben.

Screenshot der erweiterten Erweiterung des Visual Studio-Code-Plugins mit Ergebnissen des C / C ++ - Testladens von GitHub

Es gibt eine allgemeinere Variante dieser Aktion, mit der statische Analyseergebnisse für C / C ++ - Tests unter Verwendung eines URL-Speicherorts heruntergeladen werden können. Sie können damit auf Ergebnisse zugreifen, die von Jenkins oder einer anderen CI / CD-Plattform erstellt wurden. Um mehr über diese Funktionalität zu erfahren, Laden Sie die Erweiterung vom Microsoft Marketplace herunter oder aktualisieren Sie sie. Wechseln Sie zur Registerkarte Details auf der Startseite der Erweiterung.

Neue Code Coverage Extension für CMake-Projekte

Wenn Sie CMake zum Erstellen Ihres Codes verwenden, können Sie jetzt Messungen der Codeabdeckung nahtlos in Ihr Projekt integrieren und ein besseres Verständnis Ihrer Testvollständigkeit erhalten, um die Anforderungen der Standards für die funktionale Sicherheit bei der Codeabdeckung zu erfüllen.

Die C / C ++ - Testcode-Abdeckung unterstützt im Gegensatz zu gcov alle relevanten Abdeckungsmetriken, einschließlich Anweisung, Verzweigung, MC / DC, Funktion und Anrufabdeckung, die für Standards wie ISO 26262 wichtig sind.

Unsere neue Erweiterung generiert auch Berichte zur Codeabdeckung aus Ihren Integrations- und Tests auf Systemebene, die Sie dann mit dem bereits verfügbaren Bericht zur Codeabdeckung für Komponententests zusammenführen können.

Das Hinzufügen der Erweiterung zu Ihrem Projekt ist ganz einfach. Alles, was Sie tun müssen, ist, Ihrer vorhandenen CMakeLists.txt-Datei eine "include" -Anweisung hinzuzufügen, und fertig. Die Erweiterung wurde bereits in Kombination mit Build- und Ninja-Build-Engines validiert.

Verwenden des Parasoft C / C ++ - Tests mit CMake für Unit-Tests

Für aktuelle Parasoft-Anwender wurde das seit langem bestehende Projektbeispiel „Timer“ erweitert, um die Verwendung des Parasoft C / C ++ - Tests mit CMake für Komponententests zu demonstrieren.

Optimierte C / C ++ - Testbereitstellungen

In der Version 2020.2 haben wir eine Vorschau-Version unserer vereinfachten, archivbasierten Installationsprogramme für C / C ++ Test Professional (Eclipse) eingeführt. In der aktuellen Version 2021.1 sind archivbasierte Installationsprogramme offiziell und ersetzen jetzt veraltete Installationsprogramme im ausführbaren Stil. Dies ist Teil unserer kontinuierlichen Bemühungen, Bereitstellungen im Zeitalter von Cloud, Virtualisierung und Containerisierung zu optimieren und zu modernisieren.

Wenn Sie noch keine Gelegenheit hatten, Ihren Installationsprozess zu aktualisieren, können Sie die älteren Installationsprogramme weiterhin über das Kundenportal herunterladen. Bitte beachten Sie, dass wir planen, sie in einer zukünftigen Version zu entfernen.

Der Übergang zu den neuen Installateuren verläuft aufgrund des Feedbacks aller unserer Early Adopters außerordentlich reibungslos. Wenn Sie einen eigenständigen C / C ++ - Test verwenden, müssen Sie das Paket lediglich an einer beliebigen Stelle entpacken und das Tool verwenden. Für diejenigen, die bereits über einen automatisierten Bereitstellungsprozess verfügen, der beispielsweise die Vorbereitung von Docker-Containern umfasst, wird die Konfiguration Ihrer Skripte mit Sicherheit einfacher.

Wenn Sie weitere Informationen benötigen, finden Sie eine kurze Migrationsanleitung in der Kundenportal um Ihren Wechsel zu erleichtern.

Unterstützung für die Rückverfolgbarkeit und Berichterstattung von Jama-Anforderungen

Unter vielen Integrationen, die wir in dieser Version hinzugefügt haben, gibt es eine Integration mit Jama Connect, um die Rückverfolgbarkeit der Anforderungen, das Risiko und das Testmanagement zu gewährleisten.

Mit dieser neuen Integration werden die Testergebnisse von C / C ++ - Testeinheiten in Parasoft DTP mit den Jama-Anforderungen korreliert und in Form von Rückverfolgbarkeitsberichten dargestellt, die für die Einhaltung der Standards für funktionale Sicherheitsstandards erforderlich sind. DTP gibt die Ergebnisse von Unit-Tests auch an Jama zurück, indem sie in die entsprechenden Anforderungen oder Testspezifikationen aufgenommen werden.

Darüber hinaus können Benutzer beim Überprüfen der statischen Analyse oder der Ergebnisse von Komponententests in DTP automatisch ein Arbeitselement / eine Aufgabe in Jama erstellen, um festgestellte Codierungsverletzungen und Softwarefehler zu beheben.

Unterstützung für neue Compiler und IDEs

Mit 2021.1 führen wir die Integration mit Code Composer Studio Version 10.x von Texas Instrument und wie üblich eine Sammlung der neuen unterstützten Compilerkonfigurationen ein. Hier ist eine kurze Liste.

  • IAR BXARM Compiler für ARM v. 8.50.x.
  • Green Hills Software Compiler für ARM64 v. 2020_1.x
  • QNX GCC 8.x (x86-64)
  • QNX GCC 8.x (ARM64)
  • TI ARM C / C ++ - Compiler v20.2

Blick in die Zukunft

Da immer mehr Teams auf Git-basierte CI / CD-Plattformen umsteigen, werden wir unsere Bemühungen fortsetzen, unsere Integration in diese beliebten Systeme zu vereinfachen. Ähnlich wie bei GitHub in der aktuellen Version planen wir, Integrationen mit anderen gängigen CI / CD-Lösungen zu erstellen. Außerdem werden wir uns mit der Einführung neuer statischer Analyseregeln befassen, die eine noch optimierte Codeabdeckung und viele andere wertvolle Funktionen bieten.

Was ist neu in der Parasoft C/C++-Testversion

„MISRA“, „MISRA C“ und das Dreieckslogo sind eingetragene Marken von The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Alle Rechte vorbehalten.

Geschrieben von

Miroslaw Zielinski

Zu den Spezialitäten von Miroslaw, dem Produktmanager für die eingebetteten Testlösungen von Parasoft, gehören C / C ++, RTOS, statische Code-Analyse, Komponententests, Verwaltung der Softwarequalität für sicherheitskritische Anwendungen und Einhaltung der Sicherheitsstandards durch die Software.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.