Advertisement

Providing Automated Verification in HOL Using MDGs

  • Tarek Mhamdi
  • Sofiène Tahar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3299)

Abstract

While model checking suffers from the state space explosion problem, theorem proving is quite tedious and impractical for verifying complex designs. In this work, we present a verification framework in which we attempt to strike the balance between the expressiveness of theorem proving and the efficiency and automation of state exploration techniques. To this end, we propose to integrate a layer of checking algorithms based on Multiway Decision Graphs (MDG) in the HOL theorem prover. We deeply embedded the MDG underlying logic in HOL and implemented a platform that provides a set of algorithms allowing the user to develop his/her own state-exploration based application inside HOL. While the verification problem is specified in HOL, the proof is derived by tightly combining the MDG based computations and the theorem prover facilities. We have been able to implement and experiment with different state exploration techniques within HOL such as MDG reachability analysis, equivalence and model checking.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aagaard, M.D., Jones, R.B., Seger, C.-J.: Lifted-FL: A Pragmatic Implementation of Combined Model Checking and Theorem Proving. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 323–340. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  2. 2.
    Ait Mohamed, O., Song, X., Cerny, E.: On the Non-termination of MDG-Based Abstract State Enumeration. Theoretical Computer Science 300, 161–179 (2003)MATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Chou, C.-T., Peled, D.: Verifying a Model-checking Algorithm. In: Margaria, T., Steffen, B. (eds.) TACAS 1996. LNCS, vol. 1055, pp. 241–257. Springer, Heidelberg (1996)Google Scholar
  4. 4.
    Corella, F., Zhou, Z., Song, X., Langevin, M., Cerny, E.: Multiway Decision Graphs for Automated Hardware Verification. Formal Methods in System Design 10(1), 7–46 (1997)CrossRefGoogle Scholar
  5. 5.
    Dennis, L.A., Collins, G., Norrish, M., Boulton, R.: The PROSPER Toolkit. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 78–92. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  6. 6.
    Fisler, K., Johnson, S.: Integrating Design and Verification Environments Through A Logic Supporting Hardware Diagrams. In: Proc. of IFIP Conference on Hardware Description and Their Applications, Chiba, Japan (August 1995)Google Scholar
  7. 7.
    Gordon, M.: Combining Deductive Theorem Proving with Symbolic State Enumeration. In: 21 Years of Hardware Formal Verification, Royal Society Workshop to mark 21 years of BCS FACS (December 1998)Google Scholar
  8. 8.
    Gordon, M.: Reachability Programming in HOL98 Using BDDs. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 179–196. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Gordon, M., Melham, T.F.: Introduction to HOL: A theorem proving environment for higher order logic. Cambridge University Press, Cambridge (1993)MATHGoogle Scholar
  10. 10.
    Hurd, J.: Integrating Gandalf and HOL. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 311–321. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  11. 11.
    Joyce, J., Seger, C.: The HOL-Voss System: Model-Checking inside a General Purpose Theorem-Prover. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780, pp. 185–198. Springer, Heidelberg (1994)Google Scholar
  12. 12.
    Kort, S., Tahar, S., Curzon, P.: Hierarchical Formal Verification Using a Hybrid Tool. Software Tools for Technology Transfer 4(3), 313–322 (2003)CrossRefGoogle Scholar
  13. 13.
    McMillan, M.: Symbolic Model Checking. Kluwer, Dordrecht (1993)MATHGoogle Scholar
  14. 14.
    Mhamdi, T.: On the embedding of Multiway Decision Graphs in HOL. Master’s thesis, Electrical and Computer Engineering Department, Concordia University, Canada (2003)Google Scholar
  15. 15.
    Mizouni, R.: Linking HOL Theorem Proving and MDG Model Checking. Master’s thesis, Electrical and Computer Engineering Department, Concordia University, Canada (2002)Google Scholar
  16. 16.
    Owre, S., Rushby, J.M., Shankar, N.: PVS: A Prototype Verification System. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 748–752. Springer, Heidelberg (1992)Google Scholar
  17. 17.
    Pisini, V.: Integration of HOL and MDG for Hardware Verification. Master’s thesis, Electrical and Computer Engineering Department, Concordia University, Canada (2000)Google Scholar
  18. 18.
    Rajan, S., Shankar, N., Srivas, M.K.: An Integration of Model Checking with Automated Proof Checking. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939, Springer, Heidelberg (1995)Google Scholar
  19. 19.
    Schneider, K., Hoffmann, D.: A HOL Conversion for Translating Linear Time Temporal Logic to ω-automata. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 255–272. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  20. 20.
    Xu, Y.: Model Checking for a First-Order Temporal Logic Using Multiway Decision Graphs. PhD thesis, Computer Science Department, University of Montreal, Canada (1999)Google Scholar
  21. 21.
    Xiong, H., Curzon, P., Tahar, S., Blandford, A.: Formally Linking MDG and HOL Based on a Verified MDG System. In: Butler, M., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, pp. 205–224. Springer, Heidelberg (2002)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Tarek Mhamdi
    • 1
  • Sofiène Tahar
    • 1
  1. 1.Department of Electrical and Computer EngineeringConcordia UniversityMontrealCanada

Personalised recommendations