Combining Abduction and Model Checking Techniques for Repair of Concurrent Programs