Incremental Verification with Mode Variable Invariants in State Machines

  • Temesghen Kahsai
  • Pierre-Loïc Garoche
  • Cesare Tinelli
  • Mike Whalen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7226)


We describe two complementary techniques to aid the automatic verification of safety properties of synchronous systems by model checking. A first technique allows the automatic generation of certain inductive invariants for mode variables. Such invariants are crucial in the verification of safety properties in systems with complex modal behavior. A second technique allows the simultaneous verification of multiple properties incrementally. Specifically, the outcome of a property—valid or invalid—is communicated to the user as soon as it is known. Moreover, each property proven valid is used immediately as an invariant in the model checking procedure to aid the verification of the remaining properties. We have implemented these techniques as new options in the Kind model checker. Experimental evidence shows that these two techniques combine synergistically to increase Kind’s precision as well as its speed.


State Machine Model Check Mode Variable Dependency Graph International Space Station 
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.
    Damas, C., Lambeau, B., Dupont, P., van Lamsweerde, A.: Generating annotated behavior models from end-user scenarios. IEEE Transactions on SE 31(12), 1056–1073 (2005)Google Scholar
  2. 2.
    Damas, C., Lambeau, B., Roucoux, F., van Lamsweerde, A.: Analyzing critical process models through behavior model synthesis. In: ICSE 2009, pp. 441–451. IEEE (2009)Google Scholar
  3. 3.
    de Moura, L., Rueß, H., Sorea, M.: Bounded Model Checking and Induction: From Refutation to Verification. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 14–26. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Gurfinkel, A., Chechik, M., Devereux, B.: Temporal logic query checking: a tool for model exploration. IEEE Transactions on SE 29(10), 898–914 (2003)Google Scholar
  5. 5.
    Hagen, G., Tinelli, C.: Scaling up the formal verification of Lustre programs with SMT-based techniques. In: FMCAD 2008, pp. 1–9. IEEE Press, Piscataway (2008)Google Scholar
  6. 6.
    Halbwachs, N., Caspi, P., Raymond, P., Pilaud, D.: The synchronous data-flow programming language Lustre. Proceedings of the IEEE 79(9), 1305–1320 (1991)CrossRefGoogle Scholar
  7. 7.
    Hangal, S., Narayanan, S., Chandra, N., Chakravorty, S.: IODINE: a tool to automatically infer dynamic invariants for hardware designs. In: DAC 2005, pp. 775–778 (June 2005)Google Scholar
  8. 8.
    Jeffords, R., Heitmeyer, C.: Automatic generation of state invariants from requirements specifications. SIGSOFT Softw. Eng. Notes 23, 56–69 (1998)CrossRefGoogle Scholar
  9. 9.
    Jeffords, R., Heitmeyer, C.: An algorithm for strengthening state invariants generated from requirements specifications. In: RE 2001, pp. 182–191 (2001)Google Scholar
  10. 10.
    Kahsai, T., Ge, Y., Tinelli, C.: Instantiation-Based Invariant Discovery. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 192–206. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  11. 11.
    Kahsai, T., Tinelli, C.: PKIND: a parallel k-induction based model checker. In: PDMC 2011. EPTCS, vol. 72, pp. 55–62 (2011)Google Scholar
  12. 12.
    Khasidashvili, Z., Nadel, A., Palti, A., Hanna, Z.: Simultaneous SAT-Based Model Checking of Safety Properties. In: Ur, S., Bin, E., Wolfsthal, Y. (eds.) HVC 2005. LNCS, vol. 3875, pp. 56–75. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Manna, Z., Pnueli, A.: Temporal Verification of Reactive Systems: Safety. Springer (1995)Google Scholar
  14. 14.
    Sampson, M., Derevenko, V.: Interface definition document (IDD) for international space station (ISS) visiting vehicles (VVs). Technical report, NASA (2000)Google Scholar
  15. 15.
    Sheeran, M., Singh, S., Stålmarck, G.: Checking Safety Properties Using Induction and a SAT-Solver. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 108–125. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Temesghen Kahsai
    • 1
  • Pierre-Loïc Garoche
    • 1
    • 2
  • Cesare Tinelli
    • 1
  • Mike Whalen
    • 3
  1. 1.The University of IowaUnited States
  2. 2.The French Aerospace LabOneraFrance
  3. 3.University of MinnesotaUnited States

Personalised recommendations