skip to main content
article
Open Access

Verifying parameterized networks

Published:01 September 1997Publication History
Skip Abstract Section

Abstract

This article describes a technique based on network grammars and abstraction to verify families of state-transition systems. The family of state-transition systems is represented by a context-free network grammar. Using the structure of the network grammar our technique constructs a process invariant that simulates all the state-transition systems in the family. A novel idea introduced in this article is the use of regular languages to express state properties. We have implemented our techniques and verified two nontrivial examples.

References

  1. APT~ K. AND KOZEN~ D. 1986. Limits for automatic verification of finite-state systems. Inf. Process Lett. 15, 307-309. Google ScholarGoogle Scholar
  2. BROWNE~ ~/{., CLARKE~ E., AND GRUMBERG~ O. 1989. Reasoning about networks with many identical finite-state processes. Inf. Comput. 81, 1 (Apr.), 13-31. Google ScholarGoogle Scholar
  3. BURCH~ J. R., CLARKE~ E. M., MCMILLAN~ K. L., DILL~ D. L., AND HWANG~ L. J. 1992. Symbolic model checking: 102o states and beyond. Inf. Cornput. 98, 2 (June), 142-170. Google ScholarGoogle Scholar
  4. CLARKE, E. M. AND EMERSON, E. A. 1981. Synthesis of synchronization skeletons for branching time temporal logic. In Logic of Programs: Workshop (Yorktown Heights), D. Kozen, Ed. Lecture Notes in Computer Science, vol. 131. Springer-Verlag, Berlin. Google ScholarGoogle Scholar
  5. CLARKE, E. M., EMERSON, E. A., AND SISTLA, A. P. 1986. Automatic verification of finite-state concurrent systems using temporal logic specifications. A CM Trans. Program. Lang. Syst. 8, 2 (Apr.), 244-263. Google ScholarGoogle Scholar
  6. CLARKE, E. M., GRUMBERG, O., AND LONG, D. E. 1992. Model checking and abstraction. In Proceedings of the 19th Annual ACM Symposium on Principles of Programming Languages. ACM, New York. Google ScholarGoogle Scholar
  7. DAMS, D., GRUMBERG, O., AND GERTH, R. 1994. Abstract interpretation of reactive systems: Abstractions preserving ACTL*,ECTL*, and CTL*. In IFIP Working Conference and Programming Concepts, Methods and Calculi (PROCOMET'9~), (San Miniato, Italy).Google ScholarGoogle Scholar
  8. DIJKSTRA, E. 1985. Invariance and non-determinacy. In Mathematical Logic and Programming Languages, C. Hoare and J. Sheperdson, Eds. Prentice-HM1, Englewood Cliffs, N.J. Google ScholarGoogle Scholar
  9. EILENBERG, S. 1974. Automata, Languages, and Machines. Academic Press, New York. Google ScholarGoogle Scholar
  10. EMERSON, E. AND NAMJOSHI, K. S. 1995. Reasoning about rings. In Proceedings of the 22nd Annual A CM Symposium on Principles of Programming Languages. ACM, New York. Google ScholarGoogle Scholar
  11. GERMAN, S. AND SISTLA, A. 1992. Reasoning about systems with many processes. J. ACM 39, 675-735. Google ScholarGoogle Scholar
  12. GRUMBERG, O. AND LONG, D. 1994. Model checking and modular verification. ACM Trans. Program. Lang. Syst. 16, 3 (May), 843-871. Google ScholarGoogle Scholar
  13. KURSHAN, R. P. AND MCMILLAN, K. L. 1989. A structural induction theorem for processes. In Proceedings of the 8th Annual A CM Symposium on Principles of Distributed Computing. ACM, New York. Google ScholarGoogle Scholar
  14. LICHTENSTEIN, O. AND PNUELI, t. 1985. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the 12th Annual ACM Symposium on Principles of Programming Languages. ACM, New York, 97-107. Google ScholarGoogle Scholar
  15. MARELLY, R. AND GRUMBERG, O. 1991. GORMEL--Grammar ORiented ModEL checker. Tech. Rep. 697, The Technion, Haifa, Israel. Oct.Google ScholarGoogle Scholar
  16. MILNER, R. 1971. An algebraic definition of simulation between programs. In Proceedings of the 2nd International Joint Conference on Artificial Intelligence.Google ScholarGoogle Scholar
  17. MILNER, R. 1980. A Calculus of Communicating Systems. Lecture Notes in Computer Science, vol. 92. Springer-Verlag, Berlin. Google ScholarGoogle Scholar
  18. QUIELLE, J. AND SIFAKIS, J. 1982. Specification and verification of concurrent systems in CESAR. In Proceedings of the 5th International Symposium in Programming. Google ScholarGoogle Scholar
  19. SHTADLER, Z. AND GRUMBERG, O. 1989. Network grammars, communication behaviors and automatic verification. In Proceedings of the 1989 International Workshop on Automatic Verification Methods for Finite State Systems, Grenoble, France, J. Sifakis, Ed. Lecture Notes in Computer Science, vol. 407. Springer-Verlag, Berlin. Google ScholarGoogle Scholar
  20. ULLMAN, J. D. 1984. Computational Aspects of VLSI. Computer Science Press, New York. Google ScholarGoogle Scholar
  21. VERNIER, I. 1994. Parameterized evaluation of CTL-X formulae. In Workshop Accompanying the International Conference on Temporal Logic (ICTL'9~).Google ScholarGoogle Scholar
  22. WOLPER, P. AND LOVINFOSSE, V. 1989. Verifying properties of large sets of processes with network invariants. In Proceedings of the 1989 International Workshop on Automatic Verification Methods for Finite State Systems, Grenoble, France, J. Sifakis, Ed. Lecture Notes in Computer Science, vol. 407. Springer-Verlag, Berlin. Google ScholarGoogle Scholar

Index Terms

  1. Verifying parameterized networks

              Recommendations

              Reviews

              Fatma Mili

              At an intuitive level, this paper is an exercise in abstraction. Given a family of systems, and given a property p of interest, the authors show how proving that every member of the family meets the property p can be reduced to proving that a single derived system meets p . The derived system is an abstraction of all the members of the family. The abstraction is relative to the property of interest. The resulting abstract system is generally simpler than any member of the family. At a technical level, the systems of interest are state transition systems. A family of systems is expressed (generated) by a context-free grammar. The terminal symbols of the grammar are basic processes. The basic processes are combined using compositional operators. The family of systems is to be verified with respect to a specification. The specification is expressed as a temporal expression in which the atomic formulas are finite state automata. The atomic formulas are combined using temporal logic connectives. The specification is used to generate an abstract system from the (potentially infinite) family of systems. When all required conditions are met, proving that every member of the family meets the specification is reduced to proving that the generated abstract system meets the specification. The authors illustrate their approach using two nontrivial examples. The paper is divided into seven sections. It is well structured, in that the authors introduce one concept per section, and each section motivates the next.

              Access critical reviews of Computing literature here

              Become a reviewer for Computing Reviews.

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader