El análisis de interleavings es una técnica que permite detectar violaciones de atomicidad en programas de memoria compartida. Los errores de concurrencia están fuertemente ligados al no determinismo presente en la ejecución de las aplicaciones, por lo que se considera necesario contar con herramientas que permitan detectar su presencia en entornos de producción.
Lamentablemente, los algoritmos que implementan esta técnica suelen ser muy costosos en tiempo de ejecución, restringiendo su uso a etapas de prueba del software. Este trabajo muestra cómo se pueden utilizar los contadores hardware presentes en las arquitecturas de los procesadores actuales para detectar la ocurrencia de interleavings no serializables. Esta optimización permitirá disminuir el overhead que introducen las herramientas de detección de errores de concurrencia.