Inferring Network Invariants Automatically

  • Olga Grinchtein
  • Martin Leucker
  • Nir Piterman
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4130)


Verification by network invariants is a heuristic to solve uniform verification of parameterized systems. Given a system P, a network invariant for P is a system that abstracts the composition of every number of copies of P running in parallel. If there is such a network invariant, by reasoning about it, uniform verification with respect to the family P[1] ∥ ⋯ ∥ P[n] can be carried out. In this paper, we propose a procedure that searches systematically for a network invariant satisfying a given safety property. The search is based on algorithms for learning finite automata due to Angluin and Biermann. We optimize the search by combining both algorithms for improving successive possible invariants. We also show how to reduce the learning problem to SAT, allowing efficient SAT solvers to be used, which turns out to yield a very competitive learning algorithm. The overall search procedure finds a minimal such invariant, if it exists.


Constraint Satisfaction Problem Regular Language Conjunctive Normal Form Safety Property Network Invariant 
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. [AK86]
    Krzysztof, R.: Apt and Dexter Kozen. Limits for automatic verification of finite-state concurrent systems. IPL 22(6), 307–309 (1986)Google Scholar
  2. [AMN05]
    Alur, R., Madhusudan, P., Nam, W.: Symbolic compositional verification by learning assumptions. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 548–562. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  3. [Ang87]
    Angluin, D.: Learning regaular sets from queries and counterexamples. IC 75, 87–106 (1987)MATHMathSciNetGoogle Scholar
  4. [BF72]
    Biermann, A.W., Feldman, J.A.: On the synthesis of finite-state machines from samples of their behaviour. IEEE TOC 21, 592–597 (1972)MATHMathSciNetGoogle Scholar
  5. [BJLS03]
    Berg, T., Jonsson, B., Leucker, M., Saksena, M.: Insights to Angluin’s learning. TR 2003-039, Uppsala University (2003)Google Scholar
  6. [CCST05]
    Chaki, S., Clarke, E.M., Sinha, N., Thati, P.: Automated assume-guarrantee reasoning for simulation conformance. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 534–547. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. [CTTV04]
    Clarke, E.M., Talupur, M., Touili, T., Veith, H.: Verification by network decomposition. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 276–291. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. [CTV06]
    Clarke, E.M., Talupur, M., Veith, H.: Environment abstraction for parameterized verification. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 126–141. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. [EK00]
    Emerson, E.A., Kahlon, V.: Reducing model checking of the many to the few. In: McAllester, D. (ed.) CADE 2000. LNCS, vol. 1831, pp. 236–254. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. [EN95]
    Emerson, E.A., Namjoshi, K.S.: Reasoning about rings. In: POPL (1995)Google Scholar
  11. [Gol78]
    Gold, E.M.: Complexity of automaton identification from given data. IC 37(3), 302–320 (1978)MATHMathSciNetGoogle Scholar
  12. [HV05]
    Habermehl, P., Vojnar, T.: Regular model checking using inference of regular languages. ENTCS 138(3), 21–36 (2005)MathSciNetGoogle Scholar
  13. [JN00]
    Jonsson, B., Nilsson, M.: Transitive closures of regular relations for verifying infinite-state systems. In: Schwartzbach, M.I., Graf, S. (eds.) ETAPS 2000 and TACAS 2000. LNCS, vol. 1785, Springer, Heidelberg (2000)CrossRefGoogle Scholar
  14. [KM95]
    Kurshan, R.P., McMillan, K.L.: A structural induction theorem for processes. IC 117(1), 1–11 (1995)MATHCrossRefMathSciNetGoogle Scholar
  15. [KP00]
    Kesten, Y., Pnueli, A.: Control and data abstraction: The cornerstones of practical formal verification. STTT 2(4), 328–342 (2000)MATHCrossRefGoogle Scholar
  16. [KPP05]
    Kesten, Y., Piterman, N., Pnueli, A.: Bridging the gap between fair simulation and trace inclusion. IC 200(1), 35–61 (2005)MATHMathSciNetGoogle Scholar
  17. [KPSZ02]
    Kesten, Y., Pnueli, A., Shahar, E., Zuck, L.: Network invariants in action. In: Brim, L., Jančar, P., Křetínský, M., Kucera, A. (eds.) CONCUR 2002. LNCS, vol. 2421, p. 2002. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  18. [Lan92]
    Lang, K.J.: Random dfa’s can be approximately learned from sparse uniform examples. In: COLT, pp. 45–52 (1992)Google Scholar
  19. [LHR97]
    Lesens, D., Halbwachs, N., Raymond, P.: Automatic verification of parameterized linear networks of processes. In: 24th POPL (1997)Google Scholar
  20. [MMZ+01]
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient sat solver. In: DAC, pp. 530–535. ACM Press, New York (2001)Google Scholar
  21. [OG92]
    Oncina, J., Garcia, P.: Inferring regular languages in polynomial update time. In: Pattern Recognition and Image Analysis. Series in Machine Perception and AI, vol. 1, pp. 49–61. World Scientific, Singapore (1992)CrossRefGoogle Scholar
  22. [OS01]
    Oliveira, A.L., Silva, J.P.M.: Efficient algorithms for the inference of minimum size dfas. Machine Learning 44(1/2), 93–119 (2001)MATHCrossRefGoogle Scholar
  23. [PO98]
    Pena, J.M., Oliveira, A.L.: A new algorithm for the reduction of incompletely specified finite state machines. In: ICCAD, pp. 482–489 (1998)Google Scholar
  24. [PS96]
    Pnueli, A., Shahar, E.: A platform for combining deductive with algorithmic verification. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 184–195. Springer, Heidelberg (1996)Google Scholar
  25. [PS00]
    Pnueli, A., Shahar, E.: Liveness and acceleration in parameterized verification. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 328–343. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  26. [VSVA04a]
    Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Actively learning to verify safety for fifo automata. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328, pp. 494–505. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  27. [VSVA04b]
    Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Learning to verify safety properties. In: Davies, J., Schulte, W., Barnett, M. (eds.) ICFEM 2004. LNCS, vol. 3308, pp. 274–289. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  28. [VSVA05]
    Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Using language inference to verify omega-regular properties. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, Springer, Heidelberg (2005)CrossRefGoogle Scholar
  29. [WL89]
    Wolper, P., Lovinfosse, V.: Verifying properties of large sets of processes with network invariants. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407, Springer, Heidelberg (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Olga Grinchtein
    • 1
  • Martin Leucker
    • 2
  • Nir Piterman
    • 3
  1. 1.Department of Computer SystemsUppsala UniversitySweden
  2. 2.IT DepartmentTU MunichGermany
  3. 3.EPFLLausanneSwitzerland

Personalised recommendations