skip to main content
article
Free access

Compositional verification by model checking for counter-examples

Published: 01 May 1996 Publication History

Abstract

Many concurrent systems are required to maintain certain safety and liveness properties. One emerging method of achieving confidence in such systems is to statically verify them using model checking. In this approach an abstract, finite-state model of the system is constructed; then an automatic check is made to ensure that the requirements are satisfied by the model. In practice, however, this method is limited by the state space explosion problem.We have developed a compositional method that directly addresses this problem in the context of multi-tasking programs. Our solution depends on three key space-saving ingredients: (1) checking for counter-examples, which leads to simpler search algorithms; (2) automatic extraction of interfaces, which allows a refinement of the finite model --- even before its communicating partners have been compiled; and (3) using propositional "strengthening assertions" for the sole purpose of reducing state space.In this paper we present our compositional approach, and describe the software tools that support it.

References

[1]
R. Alur, C. Courcoubetis, T. A. Henzinger, and P. Ho. Hybrid automata' an algomthmic approach to the specification and verification of hybrid systems. Proceed,rigs of the Workshop on Theory of Hybrid Systems, 1992.
[2]
J. 1%. Burch, E. M. Clarke, K. L. McMillan, D. L Dill, and L H Hwang. Symbolic model checking: 1020 states and beyond. Proceedings of the F~fth Annual Sympos,um on Logzc,n Computer Science, 428-439, 1990.
[3]
M. Chiodo, T. R. Shlple, A. Sangiovanni-Vmcentelli, and R.K.Brayton Automatic reduction in CTL compositional model checking Proceedings CA V'92, LNCS 663, 234-247, June 1992.
[4]
E M Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic spectfications. ACM Transactzons on Prograramzng Languages and Systems, 8(2):244-263, April 1986
[5]
S C. Cheung and J. Kramer. Enhancing Compositional Reachabihty Analysis with Context Constraints. Proceed,rigs FSE'93, ACM SIGSOFT, 115-125, December 1993.
[6]
R Cleaveland Tableau-based model checking in the propomtional mu-calculus. Acta Informat,ca, 27:725-747, 1990.
[7]
R. Cleaveland, J. Parrow, and B. Steffen. The Concurrency Workbench. Proceed,ngs of the Workshop on Automat, c Verification Methods for Finite-State Systems, LNCS 4{07, 24-37, 1990.
[8]
E. M. Clarke, D. E. Long, and K. L McMillan. Compositional model checking. Proceedings of the Fourth Annual Symposmm on Logic in Computer Science, 464-475, June 1989.
[9]
E. A. Emerson and J. Y. Halpern. 'Sometimes' and 'not never' revisited, on branching versus linear time temporal logic. Journal of the A CM, 33(1):151-178, January 1986.
[10]
E. A. Emerson and C Lei. Efficient model checking m fragments of the propositional mu-calculus. Proceedings of Symposium on Log,c ~n Computer Science, 267-278, 1986
[11]
J. Fischer and R Gerber. Compositional Model Checking of Ada Tasking Programs Proceedings COMPASS'9~i. 1994.
[12]
N. Halbwachs. Delay analysis in synchronous programs CAV93, LNCS 697. 1993.
[13]
R. J van Glabbeek. The linear time - branching time spectrum CONCUR90, LNCS,t58, 1990.
[14]
R. Gerber and I Lee. A Layered Approach to Automating the Verification of 1%eat-Time Systems. IEEE Trans. on Software Eng., 18(9).768-784, 1992.
[15]
O. Lichtenstein and A. PnueIi Checking that finite state concurrent programs satmfy their hnear specifications. 1984.
[16]
J. S. Ostroff. Survey of formal methods for the spec~ficat,on and design of real-t,me systems. Draft for IEEE Press book "Tutorial on Specification of Time", 1992.
[17]
C. Stirling and D. Walker. CCS, hveness, and local model checking in the linear time mu-calculus. Automatic Vergficat~on Methods for F, ngte State Systems, LNCS,107, 1989
[18]
W. J Yeh and M. Young. Compositional Reachability Analysis Using Process Algebra. Proceedings TA V4, A CM SIGSOFT, 49-59, October 1991.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 21, Issue 3
May 1996
293 pages
ISSN:0163-5948
DOI:10.1145/226295
Issue’s Table of Contents
  • cover image ACM Conferences
    ISSTA '96: Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
    May 1996
    294 pages
    ISBN:0897917871
    DOI:10.1145/229000
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1996
Published in SIGSOFT Volume 21, Issue 3

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)139
  • Downloads (Last 6 weeks)13
Reflects downloads up to 27 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media