The reliance on the functioning of software systems is growing with the development of IT industry. The complexity and scalability to design these systems are increasing, especially for concurrent systems with concurrent executions, communications and resource distributions, e.g., classical cryptography protocols and quantum communication systems. Thus, the reliability of these systems becomes crucial. Model checking is an automated verification approach to validate these complicated systems, which has been proved to be effective in discovering errors. Model checking works through the exploration of all possible system states in a brute force manner. This technique checks whether a system model meets a given specification, and it consists of system modeling, requirement specification, and verification. Compared to other traditional approaches, e.g., simulation, testing, and My deepest gratitude goes first and foremost to my supervisor Prof. Yang Liu, for his constant encouragement and guidance. He has provided me great supports throughout my Ph.D. study on developing new research ideas, critical thinking and technical writing. Besides, he has walked me through all the stages of the writing of this thesis. His consistent and illuminating instruction really helps me to shape my research. Secondly, I am grateful to Prof. Binsheng He and Prof. Rong su, who were in my Thesis Advisory Committee, for their valuable suggestions and comments to my research works. Thirdly, I want to show my gratitude to Prof. Yuan Feng, Prof. Jun Sun, Prof. Yun Liang and Prof. Shengchao Qin. They have always given me instructions on my research publications.