Tres errores del compilador de C++: Una historia de características oscuras

2025-09-23
Tres errores del compilador de C++: Una historia de características oscuras

El ingeniero senior Michael Gibson relata el descubrimiento de un error del compilador clang++ derivado de la combinación de tres características de C++ raramente utilizadas. Al implementar una afirmación REACHABLE en su SDK de C++, utilizaron la inicialización estática, los parámetros de plantilla no tipados y los espacios de nombres anónimos. Sin embargo, un nuevo pipeline de optimización en clang++ 17+ entró en conflicto con esta combinación, lo que provocó errores de deduplicación de símbolos. Esto destaca el riesgo de errores oscuros que surgen de interacciones de características inusuales en sistemas complejos y muestra el poder de las pruebas automatizadas para descubrir tales problemas.

Leer más

Jugar videojuegos para probar software: cómo una empresa conquistó Metroid y Mario

2025-08-24
Jugar videojuegos para probar software: cómo una empresa conquistó Metroid y Mario

Una empresa utilizó videojuegos de Nintendo, concretamente Metroid y Super Mario Bros., para probar su plataforma de software, Antithesis. Inicialmente, su sistema de prueba de IA se atascó en una puerta roja en Metroid porque priorizaba eliminar enemigos, agotando sus misiles. Esto les llevó a desarrollar una nueva técnica de 'prueba en enjambre' que optimiza objetivos mientras explora el espacio de estados, como priorizar tener más misiles. Esto no solo resolvió el problema de la puerta roja, sino que permitió a Antithesis explorar el mundo del juego de forma más eficiente, descubrir errores e incluso explotar las mecánicas del juego para speedruns. Esta técnica no se limita a las pruebas de juegos; es aplicable a varios escenarios de pruebas de software, como encontrar fugas de memoria o anomalías de rendimiento.

Leer más
Desarrollo Prueba de Software

Haciendo Todo Testable: El Desafío de Pruebas de GPU de Mitchell

2025-07-06
Haciendo Todo Testable: El Desafío de Pruebas de GPU de Mitchell

El cofundador de HashiCorp, Mitchell, enfrentó un desafío considerable al desarrollar su último proyecto, Ghostty, un emulador de terminal renderizado por GPU: probar el código de renderizado de la GPU. Este artículo resume su presentación en BugBash, explorando cómo hacer que el código aparentemente improbable sea probable. Destaca la falta de soluciones ampliamente aceptadas para las pruebas de GPU en la era de la IA, lo que hace que el enfoque de Mitchell sea particularmente valioso. Su solución y el trabajo en Antithesis demuestran un compromiso con la expansión de los límites de las pruebas de software.

Leer más
Desarrollo pruebas de GPU