Checking Safety Properties Using Induction and a SAT-Solver
We take a fresh look at the problem of how to check safety properties of finite state machines. We are particularly interested in checking safety properties with the help of a SAT-solver. We describe some novel induction-based methods, and show how they are related to more standard fixpoint algorithms for invariance checking. We also present preliminary experimental results in the verification of FPGA cores. This demonstrates the practicality of combining a SAT-solver with induction for safety property checking of hardware in a real design flow.
KeywordsModel Check Transition Relation Safety Property Reachable State Symbolic Model Check
Unable to display preview. Download preview PDF.
- 1.P. A. Abdulla, P. Bjesse and N. Eén: Symbolic Reachability Analysis based on SAT solvers, In Proc. Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’00, LNCS, Springer-Verlag, 2000.Google Scholar
- 2.A. Biere, A. Cimatti, E.M. Clarke and Y. Zhu: Symbolic Model Checking without BDDs. In Proc. Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems, TACAS’99, number 1579, LNCS, Springer-Verlag, 1999.Google Scholar
- 3.A. Biere, A. Cimatti, E.M. Clarke, M. Fujita and Y. Zhu: Symbolic model checking using sat procedures instead of BDDs. Design Automation Conference, DAC’99, IEEE Press, 1999.Google Scholar
- 4.A. Biere, E.M. Clarke, R. Raimi and Y. Zhu: Verifying Safety Properties of a PowerPC Microprocessor Using Symbolic Model Checking without BDDs. In Proc. Int. Conf. on Computer-Aided Verification, CAV’99, LNCS, Springer-Verlag, 1999.Google Scholar
- 5.P. Bjesse, K. Claessen: SAT-based Verification without State Space Traversal. In Proc. Int. Conf. on Formal Methods in Computer Aided Design of Electronic Circuits, FMCAD’00, LNCS, Springer-Verlag, 2000.Google Scholar
- 6.E. Clarke, O. Grumberg and D. Peled: Model Checking, MIT Press, 1999.Google Scholar
- 7.W.J. Fokkink and P.R. Hollingshead: Verification of Interlockings: From Control Tables to Ladder Logic Diagrams, in (J.F. Groote, S.P. Luttik and J.J. van Wamel, eds) Proc. 3rd Workshop on Formal Methods for Industrial Critical Systems, FMICS’98, Amsterdam, 1998.Google Scholar
- 8.D. Deharbe and A. Martins Moreira: Using Induction and BDDs to Model Check Invariants, In H. Li and D. Probst, editors, Advances in Hardware Design and Verification, IFIP Advanced Research Working Conference on Correct Hardware Design and Verification Methods: CHARME’97, Chapman and Hall, 1997Google Scholar
- 9.C.J. Lillieroth and S. Singh: Formal Verification of FPGA Cores. Nordic Journal of Computing 6, 27–47, 1999.Google Scholar
- 10.M. Ljung: Formal Modelling and Automatic Verification of Lustre Programs Using NP-Tools, Master’s thesis, Prover Technology AB and Department of Teleinformatics, KTH, Stockholm, 1999.Google Scholar
- 11.M. Sheeran and G. Stålmarck: A tutorial on Stålmarck’s proof procedure for propositionallogic. Formal Methods in System Design, 16:1, January 2000.Google Scholar
- 12.M. Sheeran and G. Stålmarck: Checking safety properties using induction and boolean satisfiability. Appendix to deliverable d20.2, EU project CRISYS, 1999.Google Scholar
- 13.G. Stålmarck: Stålmarck’s Method and QBF Solving. In Proc. Int. Conf. on Computer-Aided Verification, CAV’99, LNCS, Springer-Verlag, 1999.Google Scholar
- 14.Xilinx: Xilinx IP Center, http://www.xilinx.com/ipcenter.