Instantiation-Based Invariant Discovery

  • Temesghen Kahsai
  • Yeting Ge
  • Cesare Tinelli
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6617)


We present a general scheme for automated instantiation-based invariant discovery. Given a transition system, the scheme produces k-inductive invariants from templates representing decidable predicates over the system’s data types. The proposed scheme relies on efficient reasoning engines such as SAT and SMT solvers, and capitalizes on their ability to quickly generate counter-models of non-invariant conjectures. We discuss in detail two practical specializations of the general scheme in which templates represent partial orders. Our experimental results show that both specializations are able to quickly produce invariants from a variety of synchronous systems which prove quite useful in proving safety properties for these systems.


Partial Order Model Check Safety Property Invariant Generation Predicate Abstraction 
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.
    Barrett, C.W., Tinelli, C.: CVC3. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 298–302. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 2.
    Bensalem, S., Lakhnech, Y.: Automatic generation of invariants. Form. Methods Syst. Des. 15(1), 75–92 (1999)CrossRefGoogle Scholar
  3. 3.
    Das, S., Dill, D.L.: Counter-example based predicate discovery in predicate abstraction. In: Aagaard, M.D., O’Leary, J.W. (eds.) FMCAD 2002. LNCS, vol. 2517, pp. 19–32. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Daskalakis, C., Karp, R.M., Mossel, E., Riesenfeld, S., Verbin, E.: Sorting and selection in posets. In: ACM-SIAM Symposium on Discrete Algorithms, pp. 392–401 (2009)Google Scholar
  5. 5.
    Dutertre, B., de Moura, L.: The YICES SMT solver. Technical report, SRI International (2006)Google Scholar
  6. 6.
    Gulwani, S., Srivastava, S., Venkatesan, R.: Constraint-based invariant inference over predicate abstraction. In: Jones, N.D., Müller-Olm, M. (eds.) VMCAI 2009. LNCS, vol. 5403, pp. 120–135. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Hagen, G., Tinelli, C.: Scaling up the formal verification of lustre programs with SMT-based techniques. In: FMCAD 2008, Piscataway, NJ, USA, 2008, pp. 1–9. IEEE Press, Los Alamitos (2008)Google Scholar
  8. 8.
    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
  9. 9.
    Hunt, W., Johnson, S., Bjesse, P., Claessen, K.: SAT-based verification without state space traversal. In: Johnson, S.D., Hunt Jr., W.A. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 409–426. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Manna, Z., Pnueli, A.: Temporal Verification of Reactive Systems: Safety. Springer, Heidelberg (1995)CrossRefzbMATHGoogle Scholar
  11. 11.
    Pandav, S., Slind, K., Gopalakrishnan, G.: Counterexample guided invariant discovery for parameterized cache coherence verification. In: Borrione, D., Paul, W. (eds.) CHARME 2005. LNCS, vol. 3725, pp. 317–331. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  12. 12.
    Srivastava, S., Gulwani, S.: Program verification using templates over predicate abstraction. SIGPLAN Not. 44, 223–234 (2009)CrossRefGoogle Scholar
  13. 13.
    Su, J.X., Dill, D.L., Barrett, C.W.: Automatic generation of invariants in processor verification. In: Srivas, M., Camilleri, A. (eds.) FMCAD 1996. LNCS, vol. 1166, pp. 377–388. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  14. 14.
    Thalmaier, M., Nguyen, M.D., Wedler, M., Stoffel, D., Bormann, J., Kunz, W.: Analyzing k-step induction to compute invariants for SAT-based property checking. In: DAC 2010, pp. 176–181. ACM, New York (2010)Google Scholar
  15. 15.
    Tiwari, A., Rueß, H., Saïdi, H., Shankar, N.: A technique for invariant generation. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 113–127. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Temesghen Kahsai
    • 1
  • Yeting Ge
    • 1
  • Cesare Tinelli
    • 1
  1. 1.The University of IowaUSA

Personalised recommendations