Business process model plays an important role in model-driven development. When dealing with complex business process models, sometimes it is not easy to determine whether a process model contains any errors. The concepts such as cancellation and OR-joins occur naturally in business scenarios but the presence of these features in process models poses new challenges for verification. We take on the challenge of finding new verification techniques for business process models with cancellation regions and OR-joins. The proposed approach relies on anti-patterns matching. This paper verificate business process models by detecting errors illustrated by anti-patterns in the model. First we define some anti-patterns which frequently occur in business process models. We present these techniques in the context of business process modeling language YAWL that provides direct support for all the 20 control-flow patterns reported in [1]. We have implemented a diagnostic tool based on anti-pattern detecting.