CTL Model Checking for Boolean Program

  • Taehoon Lee
  • Gihwon Kwon
  • Hyuksoo Han
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3983)


Nowadays, there are some subtle errors in a software system. So verification technique is very important. The one of important verification technique is model checking technique. Model checking is a technique to verify behavior of system with desired property. There are many researches about software model checking. As a result, predicate abstraction techniques are proposed and many tools for C or Java are developed. In general, there are two types of properties: The first is the safety properties. And other one is liveness properties. Most software model checking tools can only verify safety properties. In this paper, we describe CTL model checking algorithm based on Boolean program and describe model checking tool for Simple Java program which used in Lego robot to verify liveness property. Our model checking tool can check not only safety property but also liveness property and we describes case study verifying safety property and liveness property of LEGO robot.


Model Check Safety Property Program Counter Liveness Property Computation Tree Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Clarke, E.M., Guumber, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  2. 2.
    Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Progress on the state explosion problem in model checking. In: Wilhelm, R. (ed.) Informatics: 10 Years Back, 10 Years Ahead. LNCS, vol. 2000, pp. 154–169. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Graf, S., saidi, H.: Construction of Abstraction State Graphs with PVS. In: Proceedings of Computer Aided Verification, pp. 72–83 (1997)Google Scholar
  4. 4.
    Ball, T., Majumdar, R., Millstein, T., Rajamani, S.K.: Automatic Predicate Abstraction of C programs. SIGPLAN Notices 36(5), 203–213 (2001)CrossRefGoogle Scholar
  5. 5.
    Henzinger, T.A., Jhala, R., Majumdar, R., sutre, G.: Lazy Abstraction. In: Proceeding of Principles of Programming Languages, pp. 58–70 (2002)Google Scholar
  6. 6.
    Charki, S., Clarke, E.M., Groce, A., Jha, S., Veith, H.: Modular Verification of software Components in C. IEEE Transactions on Software Engineering 30(6), 388–402 (2004)CrossRefGoogle Scholar
  7. 7.
    Corbett, J., et al.: Bandera: Extracting Finite-state Models from Java Source Code. In: Proceedings of Internal Conference Software Engineering (2000)Google Scholar
  8. 8.
    Emerson, E.A.: Temporal and modal logic. The Handbook of Theoretical Computer Science: Formal Models and Semantics, pp. 955–1072. Elsevier, Amsterdam (1990)Google Scholar
  9. 9.
    Farrari, G., Gombos, A., Hilmer, S., Stuber, J.: Programming Lego Mindstorms with Java: The Ultimate Tool for Mindstorms Maniacs, Syngress (April 2002)Google Scholar
  10. 10.
    Eisner, C.: Model Checking the garbage collexction mechanism of SMV. Electronic Notes in Theoretical computer Science, vol. 55. Elsevier Science Publishers, Amsterdam (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Taehoon Lee
    • 1
  • Gihwon Kwon
    • 1
  • Hyuksoo Han
    • 2
  1. 1.Department of Computer ScienceKyonggi UniversitySuwon-si, Kyonggi-doKorea
  2. 2.College of Computer Software and Media TechnologySangmyung UniversitySeoulKorea

Personalised recommendations