HOW EFFECTIVE IS MODEL CHECKING IN PRACTICE?

TheAnh Do, A. C. M. Fong, Russel Pears

2011

Abstract

Software and hardware systems are becoming increasingly large, complex, and can change rapidly. Ensuring reliability of these systems can therefore be a problem. Traditional techniques such as testing and simulation are completely infeasible to cope. Model checking offers an alternative, but its use is still limited. We identify the disadvantages of model checking in practical usages and research directions to tackle these. We clearly define the context for each disadvantage and concretely describe difficulties for which verification users may face when applying the model checking technique to verifying certain systems. We also provide a comprehensive picture of research works in this context and emphasize outcomes and shortcomings of each work by means of others’. The paper would be therefore the useful user manual for verification users in practical usages and the helpful guidance for doing research in model checking.

References

  1. Myers, G. J., 1979. The Art of Software Testing. Wiley.
  2. Myers, G. J., 1979. The Art of Software Testing. Wiley.
  3. Bledsoe, W. W., Loveland, D. W. (eds.), 1984. Automated Theorem Proving: After 25 Years. Contemporary Mathematics, V29. American Mathematical Society.
  4. Bledsoe, W. W., Loveland, D. W. (eds.), 1984. Automated Theorem Proving: After 25 Years. Contemporary Mathematics, V29. American Mathematical Society.
  5. Clarke, E. M., Grumberg, O., and Peled, A., 1999. Model Checking. MIT Press.
  6. Clarke, E. M., Grumberg, O., and Peled, A., 1999. Model Checking. MIT Press.
  7. Holzmann, G. J., Smith, M. H., 2000. Automating Software Feature Verification. Bell Labs Technical Journal.
  8. Holzmann, G. J., Smith, M. H., 2000. Automating Software Feature Verification. Bell Labs Technical Journal.
  9. Clarke, E. M., Grumberg, O., Hiraishi, H., Jha, S., Long, D. E., McMillan, K. L., Ness, L. A., 1993. Verification of the Futurebus+ Cache Coherence Protocol. CHDL.
  10. Clarke, E. M., Grumberg, O., Hiraishi, H., Jha, S., Long, D. E., McMillan, K. L., Ness, L. A., 1993. Verification of the Futurebus+ Cache Coherence Protocol. CHDL.
  11. Holzmann, G. J., 1990. Design and Validation of Computer Protocols. Prentice-Hall,Inc., Upper Saddle River, NJ.
  12. Holzmann, G. J., 1990. Design and Validation of Computer Protocols. Prentice-Hall,Inc., Upper Saddle River, NJ.
  13. Ball, T., Cook, B., Levin, V., Rajamani, S. K., 2004. SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft. In IFM 7804: Integrated Formal Methods.
  14. Ball, T., Cook, B., Levin, V., Rajamani, S. K., 2004. SLAM and Static Driver Verifier: Technology Transfer of Formal Methods inside Microsoft. In IFM 7804: Integrated Formal Methods.
  15. Fix, L., 2008. Fifteen Years of Formal Property Verification in Intel. 25 Years of Model Checking.
  16. Fix, L., 2008. Fifteen Years of Formal Property Verification in Intel. 25 Years of Model Checking.
  17. Clarke, E. M., 2011. Introduction to Model Checking. Carnegie Mellon University. Retrieved from: http://www.cs.cmu.edu/emc/15817-s11/reading.html.
  18. Clarke, E. M., 2011. Introduction to Model Checking. Carnegie Mellon University. Retrieved from: http://www.cs.cmu.edu/emc/15817-s11/reading.html.
  19. Holzmann, G. J., 2011. Logic Model Checking. California Institute of Technology. Retrieved from: http://spinroot.com/spin/Doc/course/.
  20. Holzmann, G. J., 2011. Logic Model Checking. California Institute of Technology. Retrieved from: http://spinroot.com/spin/Doc/course/.
  21. Eisner, C., Fisman, D., 2006. A Practical Introduction to PSL (Series on Integrated Circuits and Systems). Springer, New York.
  22. Eisner, C., Fisman, D., 2006. A Practical Introduction to PSL (Series on Integrated Circuits and Systems). Springer, New York.
  23. Havelund, K., Lowry, M., Park, S., Pecheur, C., Penix, J., Visser, W., White, J., 2000. Formal Analysis of the Remote Agent Before and After Flight. Proc. 5th NASA Langley Formal Methods Workshop, Williamsburg, VA.
  24. Havelund, K., Lowry, M., Park, S., Pecheur, C., Penix, J., Visser, W., White, J., 2000. Formal Analysis of the Remote Agent Before and After Flight. Proc. 5th NASA Langley Formal Methods Workshop, Williamsburg, VA.
  25. Havelund, K., Lowry, M., Penix J., 2001. Formal Analysis of a Space-Craft Controller Using SPIN. IEEE Transactions on Software Engineering, v.27 n.8.
  26. Havelund, K., Lowry, M., Penix J., 2001. Formal Analysis of a Space-Craft Controller Using SPIN. IEEE Transactions on Software Engineering, v.27 n.8.
  27. Clarke, E. M., Emerson, E. A., 1981. Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic. Logic of Programs. Springer-Verlag.
  28. Clarke, E. M., Emerson, E. A., 1981. Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic. Logic of Programs. Springer-Verlag.
  29. Queille, J. P., Sifakis, J., 1982. Specification and Verification of Concurrent Systems in CESAR. Proceedings of the 5th Colloquium on International Symposium on Programming.
  30. Queille, J. P., Sifakis, J., 1982. Specification and Verification of Concurrent Systems in CESAR. Proceedings of the 5th Colloquium on International Symposium on Programming.
  31. Holzmann, G. J., 2004. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley.
  32. Holzmann, G. J., 2004. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley.
  33. McMillan, K. L., 1993. Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers.
  34. McMillan, K. L., 1993. Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers.
  35. Pnueli, A., 1977. The Temporal Logic of Programs. In 18th IEEE Symposium on Foundations of Computer Science (FOCS). IEEE Computer Society Press.
  36. Pnueli, A., 1977. The Temporal Logic of Programs. In 18th IEEE Symposium on Foundations of Computer Science (FOCS). IEEE Computer Society Press.
  37. Vardi, M. Y., Wolper, P., 1986. An Automata-Theoretic Approach to Automatic Program Verification. In 1st Annual Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press.
  38. Vardi, M. Y., Wolper, P., 1986. An Automata-Theoretic Approach to Automatic Program Verification. In 1st Annual Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press.
  39. Havelund, K., Pressburger, T., 2000. Model Checking JAVA Programs Using JAVA PathFinder. Int'l J. Software Tools for Technology Transfer.
  40. Havelund, K., Pressburger, T., 2000. Model Checking JAVA Programs Using JAVA PathFinder. Int'l J. Software Tools for Technology Transfer.
  41. Hatcliff, J., Dwyer, M. B., Zheng, H., 2000. Slicing Software for Model Construction. Higher-Order and Symbolic Computation.
  42. Hatcliff, J., Dwyer, M. B., Zheng, H., 2000. Slicing Software for Model Construction. Higher-Order and Symbolic Computation.
  43. Corbett, J. C., Dwyer, M. B., Hatcliff, J., Laubach, S., Pasareanu, C. S., Robby, Zheng, H., 2000. Bandera: Extracting Finite-State Models from Java Source Code. Proceedings of the 22nd International Conference on Software Engineering.
  44. Corbett, J. C., Dwyer, M. B., Hatcliff, J., Laubach, S., Pasareanu, C. S., Robby, Zheng, H., 2000. Bandera: Extracting Finite-State Models from Java Source Code. Proceedings of the 22nd International Conference on Software Engineering.
  45. Holzmann, G. J., 2001. From Code to Models. In Proceedings of the 2nd International Conference on Application of Concurrency to System Design.
  46. Holzmann, G. J., 2001. From Code to Models. In Proceedings of the 2nd International Conference on Application of Concurrency to System Design.
  47. Godefroid, P., 1997. VeriSoft: A Tool for the Automatic Analysis of Concurrent Reactive Software. Proceedings of the 9th International Conference on Computer Aided Verification.
  48. Godefroid, P., 1997. VeriSoft: A Tool for the Automatic Analysis of Concurrent Reactive Software. Proceedings of the 9th International Conference on Computer Aided Verification.
  49. McMillan, K. L., 2003. Interpolation and Sat-Based Model Checking. In CAV.
  50. McMillan, K. L., 2003. Interpolation and Sat-Based Model Checking. In CAV.
  51. Henzinger, T. A., Jhala, R., Majumdar, R., Qadeer, S., 2003. Thread-Modular Abstraction Refinement. CAV.
  52. Henzinger, T. A., Jhala, R., Majumdar, R., Qadeer, S., 2003. Thread-Modular Abstraction Refinement. CAV.
  53. Biere, A., Cimatti, A., Clarke, E. M., Strichman, O., Zhu, Y., 2003. Bounded Model Checking. Advances in Computers, vol. 58. Academic Press.
  54. Biere, A., Cimatti, A., Clarke, E. M., Strichman, O., Zhu, Y., 2003. Bounded Model Checking. Advances in Computers, vol. 58. Academic Press.
  55. Rajan, S. P., Tkachuk, O., Prasad, M. R., Ghosh, I., Goel, N., Uehara, T., 2009. WEAVE: WEb Applications Validation Environment. In ICSE.
  56. Rajan, S. P., Tkachuk, O., Prasad, M. R., Ghosh, I., Goel, N., Uehara, T., 2009. WEAVE: WEb Applications Validation Environment. In ICSE.
  57. Martin, A., 1985. The Design of a Self-Timed Circuit for Distributed Mutual Exclusion. In Proceedings of the 1985 Chapel Hill Conference on VLSI, Computer Science Press, Rockville, MD.
  58. Martin, A., 1985. The Design of a Self-Timed Circuit for Distributed Mutual Exclusion. In Proceedings of the 1985 Chapel Hill Conference on VLSI, Computer Science Press, Rockville, MD.
  59. Demri, S., Laroussinie, F., Schnoebelen, Ph., 2006. A Parametric Analysis of the State-Explosion Problem in Model Checking. Journal of Computer and System Sciences, v.72 n.4, p.547-575.
  60. Demri, S., Laroussinie, F., Schnoebelen, Ph., 2006. A Parametric Analysis of the State-Explosion Problem in Model Checking. Journal of Computer and System Sciences, v.72 n.4, p.547-575.
  61. Apt, K. R., Kozen, D., 1986. Limits for the Automatic Verification of Finite-State Concurrent Systems. Information Processing Letters.
  62. Apt, K. R., Kozen, D., 1986. Limits for the Automatic Verification of Finite-State Concurrent Systems. Information Processing Letters.
  63. Kurshan, R. P., McMillan, K. L., 1995. A Structural Induction Theorem for Processes. Information and Computation.
  64. Kurshan, R. P., McMillan, K. L., 1995. A Structural Induction Theorem for Processes. Information and Computation.
  65. Wolper, P., Lovinfosse, V., 1989. Verifying Properties of Large Sets of Processes with Network Invariants. In Automatic Verification Methods for Finite State Systems.
  66. Wolper, P., Lovinfosse, V., 1989. Verifying Properties of Large Sets of Processes with Network Invariants. In Automatic Verification Methods for Finite State Systems.
  67. Clarke, E. M., Grumberg, O., Jha, S., 1995. Verifying Parametrized Networks Using Abstraction and Regular Languages. In CONCUR'95.
  68. Clarke, E. M., Grumberg, O., Jha, S., 1995. Verifying Parametrized Networks Using Abstraction and Regular Languages. In CONCUR'95.
  69. Kesten, Y., Pnueli, A., 2000. Control and Data Abstractions: The Cornerstones of Practical Formal Verification. Software Tools for Technology Transfer.
  70. Kesten, Y., Pnueli, A., 2000. Control and Data Abstractions: The Cornerstones of Practical Formal Verification. Software Tools for Technology Transfer.
  71. Turing, A. M., 1936. On Computable Numbers, with an Application to the Eintscheidungsproblem. In Proceedings of the London Mathematical Society.
  72. Turing, A. M., 1936. On Computable Numbers, with an Application to the Eintscheidungsproblem. In Proceedings of the London Mathematical Society.
  73. Qadeer, S., Rehof, J., 2005. Context-Bounded Model Checking of Concurrent Software. TACAS.
  74. Qadeer, S., Rehof, J., 2005. Context-Bounded Model Checking of Concurrent Software. TACAS.
  75. Bryant, R., 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers.
  76. Bryant, R., 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers.
  77. Emerson, E. A., 1996. Model Checking and the Mucalculus. Descriptive Complexity and Finite Models.
  78. Emerson, E. A., 1996. Model Checking and the Mucalculus. Descriptive Complexity and Finite Models.
  79. Burch, J. R., Clarke, E. M., Long, D. E., 1991. Representing Circuits More Efficiently in Symbolic Model Checking. In Proceedings of the 28th ACM/IEEE Design Automation Conference.
  80. Burch, J. R., Clarke, E. M., Long, D. E., 1991. Representing Circuits More Efficiently in Symbolic Model Checking. In Proceedings of the 28th ACM/IEEE Design Automation Conference.
  81. Valmari, A., 1990. A Stubborn Attack On State Explosion. CAV.
  82. Valmari, A., 1990. A Stubborn Attack On State Explosion. CAV.
  83. Godefroid, P., 1990. Using Partial Orders to Improve Automatic Verification Methods. CAV.
  84. Godefroid, P., 1990. Using Partial Orders to Improve Automatic Verification Methods. CAV.
  85. Peled, D., 1994. Combining Partial Order Reductions with On-the-fly Model-Checking. CAV.
  86. Peled, D., 1994. Combining Partial Order Reductions with On-the-fly Model-Checking. CAV.
  87. Balarin, F., Sangiovanni-Vincentelli, A. L., 1993. An Iterative Approach to Language Containment. CAV.
  88. Balarin, F., Sangiovanni-Vincentelli, A. L., 1993. An Iterative Approach to Language Containment. CAV.
  89. Kurshan, R. P., 1994. Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton University Press.
  90. Kurshan, R. P., 1994. Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton University Press.
  91. Clarke, E. M., Grumberg, O., Long, D. E., 1992. Model Checking and Abstraction. POPL.
  92. Clarke, E. M., Grumberg, O., Long, D. E., 1992. Model Checking and Abstraction. POPL.
  93. Bensalem, S., Bouajjani, A., Loiseaux, C., Sifakis, J., 1992. Property Preserving Simulations. CAV.
  94. Bensalem, S., Bouajjani, A., Loiseaux, C., Sifakis, J., 1992. Property Preserving Simulations. CAV.
Download


Paper Citation


in Harvard Style

Do T., Fong A. and Pears R. (2011). HOW EFFECTIVE IS MODEL CHECKING IN PRACTICE? . In Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8425-57-7, pages 239-244. DOI: 10.5220/0003467402390244


in Harvard Style

Do T., Fong A. and Pears R. (2011). HOW EFFECTIVE IS MODEL CHECKING IN PRACTICE? . In Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-8425-57-7, pages 239-244. DOI: 10.5220/0003467402390244


in Bibtex Style

@conference{enase11,
author={TheAnh Do and A. C. M. Fong and Russel Pears},
title={HOW EFFECTIVE IS MODEL CHECKING IN PRACTICE?},
booktitle={Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2011},
pages={239-244},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003467402390244},
isbn={978-989-8425-57-7},
}


in Bibtex Style

@conference{enase11,
author={TheAnh Do and A. C. M. Fong and Russel Pears},
title={HOW EFFECTIVE IS MODEL CHECKING IN PRACTICE?},
booktitle={Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,},
year={2011},
pages={239-244},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003467402390244},
isbn={978-989-8425-57-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - HOW EFFECTIVE IS MODEL CHECKING IN PRACTICE?
SN - 978-989-8425-57-7
AU - Do T.
AU - Fong A.
AU - Pears R.
PY - 2011
SP - 239
EP - 244
DO - 10.5220/0003467402390244


in EndNote Style

TY - CONF
JO - Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering - Volume 1: ENASE,
TI - HOW EFFECTIVE IS MODEL CHECKING IN PRACTICE?
SN - 978-989-8425-57-7
AU - Do T.
AU - Fong A.
AU - Pears R.
PY - 2011
SP - 239
EP - 244
DO - 10.5220/0003467402390244