Abstract

Model checking and theorem proving are two key vertification techniques in the formal method, but each has its advantages and disadvantages. In this paper, we first try to present the general model transformation rules from Event-B to SMV in order to realize complementary advantages, and then design the model converter of Event-B to SMV according to the rules. ProB is the only tool to implement Event-B model checking, but it lacks the real-time property verification, while nuXmv is able to verify temporal logic formulas with the real-time property for SMV models. After completing the model transformation, we use ProB and nuXmv to make the verification of LTL and CTL formulas for two equivalent models respectively. Compared to the experimental results, in solving the same problem, nuXmv has more advantages over memory consumption, time efficiency and so on than ProB, especially when the formula to be verified is very complex. Therefore, if complex verifications of system models need to be performed, it is necessary to implement the model transformation between Event-B and SMV by using our translation rules, which is of great significance for the development, design and verification of safety-critical system softwares.

Highlights

  • Formal verification method can be divided into two broad categories: model checking and theorem proving

  • The advantage of model checking is that it can be automated and provide counterexample paths when a specification is discovered to be false; the disadvantage is that if the system has a high degree of concurrency, there exists a state explosion problem, it generally can not verify the system with infinite states

  • Its advantage is that the model to be proved is independent of system states, so it has the ability to verify the system with infinite states; the disadvantage is that this approach is generally not fully automated and requires manual interaction

Read more

Summary

Introduction

Formal verification method can be divided into two broad categories: model checking and theorem proving. The currently widely used NuSMV [2] is the reconstruction and extension of SMV, NuSMV supports all specifications described by the CTL and LTL (Linear Temporal Logic) It integrates bounded model checking technique based on SAT. Event-B uses the proof obligations generated by axioms and theorems to ensure the consistency among different layers It indicates the model meets software requirements through the fully proved obligations, but it can not verify specific model properties. Combining model checking and theorem proving is a recent important trend of formal verification[6,7,8], the existing work focuses on the state explosion problem and seldom considers the complementarity of the two technologies in software engineering practice. A practical scheme is proposed in this paper, which combines model checking and theorem proving for software development

Model Structure Analysis
Translation rules
Basic symbol correspondence
Experimental comparison
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call