Formal Methods for Distributed System Development pp 105-120 | Cite as

# Compositionality for Improving Model Checking

## Abstract

Model checking is an automatic technique for verifying finite state systems: in this approach, properties are expressed in a temporal logic and systems are modelled as transition systems. A main problem of model checking is *state explosion*: very complex systems are often represented by transition systems with a prohibitive number of states. The primary cause of this problem is the parallel composition of interacting processes. Many techniques have been proposed to attack this problem, among them *compositional techniques.* These techniques reduce state explosion exploiting the natural decomposition of complex systems into processes. In this paper we present a formula-based compositional rule that allows us to deduce a property of a parallel composition of processes by checking it only on a component process.

### Keywords

model checking compositionality temporal logic state explosion.### References

- [1]H.R. Andersen, G. Winskel. Compositional Checking of Satisfaction.
*Formal Methods in System Design*,*1(4)*, 1992.Google Scholar - [2]R. Barbuti, N. De Francesco, A. Santone, G. Vaglini. Selective Mu-Calculus: New Modal Operators for Proving Properties on Reduced Transition Systems. In
*Proceedings of FORTE X/PSTV XVII ‘87*. Chapman & Hall, 1997. 519–534Google Scholar - [3]R. Barbuti, N. De Francesco, A. Santone, G. Vaglini. Selective Mu-Calculus and Formula-Based Abstractions of Transition Systems.
*Journal of Computer and System Sciences*,*59(3)*, 1999. 537–556.Google Scholar - [4]T. Bolognesi, E. Brinksma. Introduction to ISO Specification Language LOTOS.
*Comp. Networks and ISDN Systems*,*14*, 1987. 2559.Google Scholar - [5]A. Bouali, S. Gnesi, S. Larosa. The integration Project for the JACK Environment.
*Bulletin of the EATCS*,*54*, 1994. 207–223.MATHGoogle Scholar - [6]J. Burch, E. Clarke, K. McMillan, D. Dill, L. Hwang. Symbolic Model Checking: 10
^{20}States and Beyond. In*Proceedings of Fifth Annual IEEE Symposium on Logic in Computer Science*,1990. 428–439.Google Scholar - [7]E.M. Clarke, O.Grumberg, D.E. Long. Model Checking and Abstraction.
*ACM Transactions on Programming Languages and Systems*,*16(5)*, 1994. 1512–1542.Google Scholar - [8]E.M. Clarke, D.E. Long, K.L. McMillan. Compositional Model Checking. In
*Proceedings of the Fourth Annual IEEE Symposium on Logic in Computer Science*, 1989. 353–362.Google Scholar - [9]R. Cleveland. Tableau-based Model Checking in the Propositional Mu-Calculus.
*Acta Informatica*,*27*, 1990. 725–747.MathSciNetMATHGoogle Scholar - [10]R. Cleaveland, S. Sims. The NCSU Concurrency Workbench. In
*Proceedings of the Eighth International Conference on Computer-Aided Verification (CAV’96)*, Lecture Notes in Computer Science 1102, 1996. 394–397.CrossRefGoogle Scholar - [11]E.A. Emerson, J.Y. Halpern. “Sometimes” and “Not Never” Revisited: On Branching Time Versus Linear Time. Journal of ACM, 33 (1), 1986. 151–178.CrossRefMATHGoogle Scholar
- [12]J.C. Fernandez, L. Mounier. Verifying Bisimulation on the fly. In
*Proceedings of the Third International Conference on Formal Description Techniques*, FORTE’90, 1990.Google Scholar - [13]Grumberg, D.E. Long. Model Checking and Modular Verification.
*ACM Transactions on Programming Languages and Systems*, 16 (3), 1994. 843–871.CrossRefGoogle Scholar - [14]C. Jard, T. Jéron. Bounded-memory Algorithms for Verification on-the-fly. In
*Proceedings of the Third International Conference on Computer-Aided Verification (CAV’91)*, Lecture Notes in Computer Science 575, 1991. 192–201.CrossRefGoogle Scholar - [15]R. Kaivola. Compositional Model Checking for Linear-Time Temporal Logic. In
*Proceedings of the Fourth International Conference on Computer-Aided Verification (CAV’92)*, Lecture Notes in Computer Science 663, 1991. 248–259.MathSciNetCrossRefGoogle Scholar - [16]D. Kozen. Results on the Propositional Mu-Calculus.
*Theoretical Computer Science*,*27*, 1983. 333–354.MathSciNetCrossRefMATHGoogle Scholar - [17]E. Madelaine, D. Vergamini. Finiteness Conditions and Structural Construction of Automata for all Process Algebras. In
*Proceedings of 2nd Workshop on Computer-Aided Verification*. DIMACS Technical Report 90–31, 1990.Google Scholar - [18]K. McMillan.
*Symbolic Model Checking*. Boston: Kluwer Academic Publishers, 1993.CrossRefMATHGoogle Scholar - [19]R. Milner.
*Communication and Concurrency*. Prentice-Hall, 1989.Google Scholar - [20]R. Paige, R. Tarjan. Three Partition Refinement Algorithms.
*SIAM Journal of Computing*,*16(6)*, 1987. 973–989.Google Scholar - [21]A. Pnueli. In Transition for Global to Modular Temporal Reasoning about Programs
*Logics and Models of Concurrent Systems*. NATO ASI Series. Series F, Computer and System Sciences, 13. Springer-Verlag, 1984.Google Scholar - [22]C. Stirling. An Introduction to Modal and Temporal Logics for CCS. In
*Concurrency: Theory*,*Language*,*and Architecture*, Lecture Notes in Computer Science 391, 1989.Google Scholar - [23]C. Stirling, D. Walker. Local Model Checking in the Modal Mu-Calculus.
*Theoretical Computer Science*,*89*, 1991. 161–177.MathSciNetCrossRefMATHGoogle Scholar