Improving the Accuracy of Software Models using Refinement and Mutation Testing