Trois bogues du compilateur C++ : une histoire de fonctionnalités obscures

2025-09-23
Trois bogues du compilateur C++ : une histoire de fonctionnalités obscures

L'ingénieur principal Michael Gibson raconte la découverte d'un bogue du compilateur clang++ résultant de la combinaison de trois fonctionnalités C++ rarement utilisées. Lors de l'implémentation d'une assertion REACHABLE dans son SDK C++, il a utilisé l'initialisation statique, des paramètres de modèle non typés et des espaces de noms anonymes. Cependant, un nouveau pipeline d'optimisation dans clang++ 17+ est entré en conflit avec cette combinaison, entraînant des erreurs de déduplication de symboles. Cela souligne le risque de bogues obscurs provenant d'interactions de fonctionnalités inhabituelles dans les systèmes complexes et montre la puissance des tests automatisés pour découvrir de tels problèmes.

Lire plus

Jouer à des jeux pour tester des logiciels : comment une entreprise a conquis Metroid et Mario

2025-08-24
Jouer à des jeux pour tester des logiciels : comment une entreprise a conquis Metroid et Mario

Une entreprise a utilisé des jeux Nintendo, plus précisément Metroid et Super Mario Bros., pour tester sa plateforme logicielle, Antithesis. Au départ, son système de test IA s’est retrouvé bloqué devant une porte rouge dans Metroid, car il priorisait l’élimination des ennemis, épuisant ainsi ses missiles. Cela l’a conduite à développer une nouvelle technique de « test en essaim » qui optimise les objectifs tout en explorant l’espace d’états, comme privilégier le fait d’avoir plus de missiles. Cela a non seulement résolu le problème de la porte rouge, mais a également permis à Antithesis d’explorer le monde du jeu plus efficacement, de découvrir des bogues et même d’exploiter les mécanismes du jeu pour des speedruns. Cette technique ne se limite pas aux tests de jeux ; elle est applicable à divers scénarios de tests logiciels, comme la recherche de fuites de mémoire ou d’anomalies de performances.

Lire plus
Développement Test logiciel

Rendre tout testable : le défi des tests GPU de Mitchell

2025-07-06
Rendre tout testable : le défi des tests GPU de Mitchell

Le cofondateur de HashiCorp, Mitchell, a rencontré un défi de taille lors du développement de son dernier projet, Ghostty, un émulateur de terminal rendu par GPU : tester le code de rendu GPU. Cet article résume sa présentation à la BugBash, en explorant comment rendre testable un code apparemment intestable. Il souligne le manque de solutions largement acceptées pour les tests GPU à l’ère de l’IA, ce qui rend l’approche de Mitchell particulièrement précieuse. Sa solution et le travail chez Antithesis démontrent un engagement à repousser les limites des tests logiciels.

Lire plus
Développement tests GPU