1. Introducción
1.1. Programas secuenciales
1.2. Programas concurrentes
2. Errores de concurrencia
2.1. Condiciones de carrera
2.2. Deadlock
2.3. Violación de orden
2.4. Violación de atomicidad simple
2.5. Violación de atomicidad multivariable
2.6. ¿Qué tan frecuentes son estos errores?
3. Violaciones de Atomicidad: antecedentes
3.1. Herramientas de detección
4. Análisis de Interleavings
4.1. Implementación de AVIO
5. Trabajo Experimental
5.1. Benchmarks para evaluar capacidad de detección
5.2. Benchmarks para desempeño
6. Resultados
6.1. Capacidad de Detección de Errores
6.2. Análisis de Rendimiento
7. Conclusiones y Líneas de Trabajo Futuras
Apéndices
A. Detección de condiciones de carrera
A.1. Happens before
A.2. Lockset
Referencias