A Case Study in Domain-Customized Model Checking for Real-Time Component Software

  • Matthew Hoosier
  • Matthew B. Dwyer
  • Robby
  • John Hatcliff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4313)


Despite a decade of intensive research on general techniques for reducing the complexity of model checking, scalability remains the chief obstacle to its widespread adoption. Past experience has shown that domain-specific information can often be leveraged to obtain state-space reductions that go beyond general purpose reductions by customizing existing model checker implementations or by building new model-checking engines dedicated to a particular domain. Unfortunately, these strategies limit the dissemination of model checking across a number of domains since it is often infeasible for domain experts to build their own dedicated model checkers or to modify existing model checking engines.

To enable researchers to more easily tailor a model checking engine to a particular software-related domain, we have constructed an extensible and highly explicit-state software model checking framework called Bogor. In this paper, we describe our experience in customizing Bogor to check design models of avionics systems built using real-time CORBA component-based middleware. This includes modeling the semantics of a real-time CORBA event channel as a Bogor abstract data type, implementing a customized distributed state-space exploration algorithm that leverages the quasi-cyclic nature of periodic real-time computation, and encapsulating the Bogor checking engine in a robust full-featured development environment called Cadena that we have built for designing, analyzing, synthesizing, and implementing systems using the CORBA Component Model.


Model Check Symbolic Model Check Remote Method Invocation Client Process Java PathFinder 
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.
    Ben-David, S., Heyman, T., Grumberg, O., Schuster, A.: Scalable distributed on-the-fly symbolic model checking. In: Proceedings of Formal Methods in Computer-Aided Design, pp. 390–404 (2000)Google Scholar
  2. 2.
    Bosnacki, D., Dams, D., Holenderski, L.: Symmetric SPIN. International Journal on Software Tools for Technology Transfer (2002)Google Scholar
  3. 3.
    Brat, G., Havelund, K., Park, S., Visser, W.: Java PathFinder – a second generation of a Java model-checker. In: Proceedings of the Workshop on Advances in Verification (July 2000)Google Scholar
  4. 4.
    Chan, W., Anderson, R.J., Beame, P., Jones, D.H., Notkin, D., Warner, W.E.: Optimizing symbolic model checking for statecharts. IEEE Transactions on Software Engineering 27(2), 170–190 (2001)CrossRefGoogle Scholar
  5. 5.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (2000)Google Scholar
  6. 6.
    Demartini, C., Iosif, R., Sisto, R.: dspin: A dynamic extension of SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 261–276. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Deng, W., Dwyer, M.B., Hatcliff, J., Jung, G., Robby, S.G.: Model-Checking Middleware-Based Event-Driven Real-Time Embedded Software. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 154–181. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Deng, X., Dwyer, M.B., Hatcliff, J., Mizuno, M.: Invariant-based specification, synthesis, and verification of synchronization in concurrent programs. In: Proceedings of the 24th International Conference on Software Engineering. IEEE Press, Los Alamitos (2002)Google Scholar
  9. 9.
    Dwyer, M.B., Robby, D.X., Hatcliff, J.: Space reductions for model checking quasi-cyclic systems. In: Alur, R., Lee, I. (eds.) EMSOFT 2003. LNCS, vol. 2855, pp. 173–189. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley Pub. Co., Reading (1995)Google Scholar
  11. 11.
    Garavel, H., Mateescu, R., Smarandache, I.: Parallel state space construction for model-checking. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, p. 217. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Godefroid, P.: Model-checking for programming languages using VeriSoft. In: Proceedings of the 24th ACM Symposium on Principles of Programming Languages (POPL 1997), pp. 174–186 (January 1997)Google Scholar
  13. 13.
    Hatcliff, J., Deng, W., Dwyer, M., Jung, G., Ranganath, V.P.: Cadena: An integrated development, analysis, and verification environment for component-based systems. In: Proceedings of the 25th International Conference on Software Engineering. IEEE Press, Los Alamitos (2003)Google Scholar
  14. 14.
    Heyman, T., Geist, D., Grumberg, O., Schuster, A.: Achieving scalability in parallel reachability analysis of very large circuits. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 20–35. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Holzmann, G.J.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–294 (1997)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Iosif, R.: Symmetry Reduction Criteria for Software Model Checking. In: Bošnački, D., Leue, S. (eds.) SPIN 2002. LNCS, vol. 2318, pp. 22–41. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Jones, M., Mercer, E.G.: Explicit State Model Checking with Hopper. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 146–150. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Lerda, F., Visser, W.: Addressing Dynamic Issues of Program Model Checking. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 80–102. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Robby, M.B., Dwyer, B., Hatcliff, J.: Bogor: An extensible and highly-modular model checking framework. In: Proceedings of the 9th European Software Engineering Conference held jointly with the 11th ACM SIGSOFT Symposium on the Foundations of Software Engineering (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Matthew Hoosier
    • 1
  • Matthew B. Dwyer
    • 2
  • Robby
    • 1
  • John Hatcliff
    • 1
  1. 1.Kansas State UniversityManhattanUSA
  2. 2.University of NebraskaLincolnUSA

Personalised recommendations