В статье проанализирован подход к статическому анализу кода на предмет обнаружения состояний гонки. Он ориентирован на реальные задачи со сложными конструкциями кода, включающие циклы и ветвления. Предложенный метод включает моделирование исполнения многопоточного приложения и анализ построенной модели. Модель подходит для реальных задач, под которыми понимаются те, где логика и понятие корректности привязаны к конкретным значениям переменных и истории операций над разделяемыми переменными, а не к попарному их сопоставлению.