Able to replace atomic instructions with functional calls and check data races.