Étant donné un programme composé de variables et d'instructions qui modifient ces variables, et une primitive de synchronisation (un moniteur, un mutex, un java synchronisé ou un verrou C #), est-il possible de prouver qu'un tel programme est thread-safe?
Existe-t-il même un modèle formel pour décrire des choses comme la sécurité des fils ou les conditions de course?