Drei C++-Compilerfehler: Eine Geschichte obskurer Funktionen

2025-09-23
Drei C++-Compilerfehler: Eine Geschichte obskurer Funktionen

Der leitende Ingenieur Michael Gibson berichtet über die Entdeckung eines clang++-Compilerfehlers, der aus der Kombination von drei selten verwendeten C++-Funktionen resultiert. Bei der Implementierung einer REACHABLE-Assertion in seinem C++-SDK verwendete er statische Initialisierung, nicht-typische Template-Parameter und anonyme Namespaces. Ein neues Optimierungssystem in clang++ 17+ kollidierte jedoch mit dieser Kombination, was zu Symbol-Deduplizierungsfehlern führte. Dies unterstreicht das Risiko von obskuren Fehlern, die aus ungewöhnlichen Funktionsinteraktionen in komplexen Systemen entstehen, und zeigt die Leistungsfähigkeit automatisierter Tests bei der Aufdeckung solcher Probleme.

Mehr lesen
Entwicklung

Spiele zum Testen von Software: Wie ein Unternehmen Metroid und Mario eroberte

2025-08-24
Spiele zum Testen von Software: Wie ein Unternehmen Metroid und Mario eroberte

Ein Unternehmen nutzte Nintendo-Spiele, insbesondere Metroid und Super Mario Bros., um seine Softwareplattform Antithesis zu testen. Anfangs blieb sein KI-Testsystem in Metroid vor einer roten Tür hängen, weil es die Eliminierung von Feinden priorisierte und dabei seine Raketen verbrauchte. Dies führte zur Entwicklung einer neuen „Schwarmtest“-Technik, die Ziele optimiert, während der Zustandsraum exploriert wird, z. B. die Priorisierung von mehr Raketen. Dies löste nicht nur das Problem der roten Tür, sondern ermöglichte es Antithesis, die Spielwelt effizienter zu erkunden, Fehler zu finden und sogar Spielmechaniken für Speedruns auszunutzen. Diese Technik beschränkt sich nicht auf Spieltests; sie ist auf verschiedene Softwaretestszenarien anwendbar, z. B. das Auffinden von Speicherlecks oder Leistungsanomalien.

Mehr lesen
Entwicklung

Alles testbar machen: Mitchells GPU-Test-Herausforderung

2025-07-06
Alles testbar machen: Mitchells GPU-Test-Herausforderung

Der Mitbegründer von HashiCorp, Mitchell, stand bei der Entwicklung seines neuesten Projekts, Ghostty, einem GPU-gerenderten Terminalemulator, vor einer großen Herausforderung: das Testen des GPU-Rendering-Codes. Dieser Artikel fasst seinen Vortrag auf der BugBash-Konferenz zusammen und untersucht, wie scheinbar untestbarer Code testbar gemacht werden kann. Er hebt den Mangel an allgemein akzeptierten Lösungen für GPU-Tests im Zeitalter der KI hervor, wodurch Mitchells Ansatz besonders wertvoll wird. Seine Lösung und die Arbeit bei Antithesis zeigen ein Engagement, die Grenzen des Softwaretestens zu erweitern.

Mehr lesen
Entwicklung GPU-Tests