Elektroniknet Logo

Test-Software für C und C++

Update für C++20 mit 3000 neuen Tests

SuperTest Vermeer Release Update #3
© Solid Sands

Das Update #3 der Test- und Validierungssoftware SuperTest Vermeer Release für C- und C++-Compiler hat Solid Sands um die aktuelle Version C++20 erweitert. Es enthält neue Tests, erlaubt zeilennummerngenaue Diagnoseberichte und bietet verbesserte Fließkomma-Prüfungen.

Mit dem Update #3 für SuperTest Vermeer Release ergänzt Solid Sands eine umfassende C++20-Sprachabdeckung. Es enthält über 800 Tests, um die korrekte Implementierung von C++-Sprachkonstrukten zu überprüfen, und auch 1700 neue Tests für C++-Bibliotheksfunktionen, um sicherzustellen, dass sie in allen Anwendungsfällen wie vorgesehen funktionieren.

Anbieter zum Thema

zu Matchmaker+

C++20-Unterstützung

Die Fähigkeit von C++, die Anforderungen hinsichtlich Datensicherheit, funktionale Sicherheit und Verhalten nach ISO 26262 zu erfüllen, hat die Akzeptanz von C++ in der Automobilbranche erhöht. Viele der neuesten Bildverarbeitungs-, Signalverarbeitungs- und maschinellen Lernalgorithmen, die in fortschrittlichen Fahrerassistenzsystemen (ADAS) zum Einsatz kommen, sind jetzt in C++ geschrieben. Da SuperTest nun den Test und die Validierung von C++20-Compilern umfassend unterstützt, können Entwickler mit den neuesten Leistungsmerkmalen in der C++-Programmierung Schritt halten.

Marcel Beemster, Chief Technology Officer bei Solid Sands.
Marcel Beemster, Chief Technology Officer bei Solid Sands: »Durch ein Upgrade auf SuperTest Vermeer Release Update #3 können Entwickler, die die neuesten Funktionen von C++ nutzen möchten, jetzt überprüfen, ob ihr Compiler diese korrekt implementiert.«
© Solid Sands

»Fahrzeughersteller wechseln von Single-Core-Embedded-Prozessoren zu leistungsstarken Multicore-Prozessoren, bei denen C++ bei der Strukturierung großer Softwareprojekte einen deutlichen Vorteil gegenüber C bietet«, so Marcel Beemster, Chief Technology Officer bei Solid Sands. »Daher enthält die AUTOSAR-Adaptive-Plattform jetzt Programmierrichtlinien für C++.«

Für Diagnosetests, die speziell darauf ausgelegt sind, einen Compiler-Fehler zu generieren, bietet die C++-Unterstützung von SuperTest nun eine zeilennummerngenaue Fehlerberichterstattung, damit Entwickler das genaue Sprachkonstrukt identifizieren können, das den Fehler verursacht.

Überprüfung der arithmetischen Genauigkeit

Das SuperTest Vermeer Release Update #3 gilt für die gesamte C-Sprachunterstützung von SuperTest und bietet eine verbesserte Überprüfung der Fließkomma-Genauigkeit. Die standardmäßige Genauigkeitsgrenze für arithmetische Operationen wurde dabei nun universell auf vier ULPs festgelegt (ULP – Units in the Last Place – das kleinste Intervall zwischen zwei aufeinanderfolgenden Fließkommazahlen).

Bei Bedarf können SuperTest-Nutzer diese Standardgrenze in einen ULP-Wert ihrer Wahl ändern. Für bibliotheksfremde Arithmetik kann er sogar auf Null gesetzt werden, um die Rundungsgenauigkeit zu überprüfen. Das SuperTest Vermeer Release Update #3 enthält auch andere Verbesserungen der arithmetischen Funktionstests von SuperTest, u.a. der arithmetischen Depth Suite, die jetzt Zielplattformen unterstützt, die keine Fließkomma-Arithmetik unterstützen.

Verbessertes Testen von Aufrufkonventionen

Die Testsuite für Aufrufkonventionen wurde hinsichtlich ihrer Fähigkeit, lokale und globale Variablen zufällig auszuwählen, verbessert. Das Sicherstellen, dass Argumente und Rückgabewerte korrekt zwischen einer aufrufenden Funktion und einer aufgerufenen Funktion übergeben werden, ist ein wichtiger Aspekt des Compiler-Tests, der manchmal von Entwicklern übersehen wird. Der verbesserte Tester für Aufrufkonventionen im Update #3 kann diese innerhalb eines Compilers überprüfen, um sicherzustellen, dass keine Compiler-Änderungen die ABI-Integrität (Application Binary Interface) zwischen verschiedenen Versionen eines Compilers beeinträchtigen. Somit lässt sich auch die Konsistenz der Aufrufkonventionen zwischen völlig verschiedenen Compilern testen.

Erweiterte Rückverfolgbarkeit

Die Rückverfolgbarkeit von Abschnitten innerhalb von SuperTest – der Bericht, der beschreibt, wie jeder einzelne Test mit dem Sprachstandard übereinstimmt – wurde erweitert, um alle Versionen von C abzudecken, einschließlich C18 und C++ bis C++17.

Flexiblere Host-Umgebung

Das Update #3 vereinfacht die Verwaltung mehrerer Installationen verschiedener Versionen in derselben Windows-Betriebssystemumgebung, sodass Benutzer SuperTest und SuperGuard (die C Library Safety Qualification Suite von Solid Sands) oder mehrere SuperTest-Versionen auf demselben Rechner ausführen können.


Verwandte Artikel

WEKA FACHMEDIEN GmbH