Verifying Distributed, Event-Based Middleware Applications Using Domain-Specific Software Model Checking

Abstract. The success of distributed event-based infrastructures such as SIENA and Elvin is partially due to their ease of use. Even novice users of these infrastructures not versed in distributed programming can quickly comprehend the small and intuitive interfaces that these systems typically feature. However, if these users make incorrect assumptions about how the infrastructure services work, a mismatch between the infrastructure and its client applications occurs, which may manifest itself in erroneous client behaviour. We propose a framework for automatically model checking distributed event-based systems in order to discover mismatch between the infrastructure and its clients. Using the SIENA event service as an example, we implemented and evaluated our framework by customizing the Bandera/Bogor tool pipeline. Two realistic Java applications are implemented to test and evaluate the framework.

[1]  Mads Haahr,et al.  Filtering and scalability in the ECO distributed event model , 2000, 2000 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems.

[2]  Joseph Sifakis,et al.  Tools and Applications II: The IF Toolset , 2004 .

[3]  Jing Li,et al.  An XML-message based architecture description language and architectural mismatch checking , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[4]  Bran Selic On the Semantic Foundations of Standard UML 2.0 , 2004, SFM.

[5]  Jürgen Dingel,et al.  Source Transformation for Concurrency Analysis , 2005, LDTA@ETAPS.

[6]  Matthew B. Dwyer,et al.  Bogor: an extensible and highly-modular software model checking framework , 2003, ESEC/FSE-11.

[7]  Dennis Heimbigner,et al.  Adapting publish/subscribe middleware to achieve Gnutella-like functionality , 2001, SAC.

[8]  Giuliano Antoniol,et al.  Special issue on Source code analysis and manipulation , 2006, Sci. Comput. Program..

[9]  Aggelos Kiayias,et al.  Polynomial Reconstruction Based Cryptography , 2001, Selected Areas in Cryptography.

[10]  C. A. R. Hoare,et al.  Stuck-Free Conformance , 2004, CAV.

[11]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[12]  Margus Veanes,et al.  Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer , 2008, Formal Methods and Testing.

[13]  Henry Muccini,et al.  CHARMY: an extensible tool for architectural analysis , 2005, ESEC/FSE-13.

[14]  Yanhong A. Liu,et al.  Transformations for model checking distributed Java programs , 2001, SPIN '01.

[15]  Matthew B. Dwyer,et al.  Bandera: extracting finite-state models from Java source code , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[16]  David Garlan,et al.  Model Checking Publish-Subscribe Systems , 2003, SPIN.

[17]  Matthew B. Dwyer,et al.  Cadena: an integrated development, analysis, and verification environment for component-based systems , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[18]  Jürgen Dingel,et al.  Using source transformation to test and model check implicit-invocation systems , 2006, Sci. Comput. Program..

[19]  Sebastián Uchitel,et al.  Enhancing architectural mismatch detection with assumptions , 2000, Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).

[20]  Paola Inverardi,et al.  Compositional verification of middleware-based software architecture descriptions , 2004, Proceedings. 26th International Conference on Software Engineering.

[21]  Jürgen Dingel,et al.  Evaluating and improving the automatic analysis of implicit invocation systems , 2003, ESEC/FSE-11.

[22]  David S. Rosenblum,et al.  Design and evaluation of a wide-area event notification service , 2001, TOCS.

[23]  Margus Veanes,et al.  Testing Concurrent Object-Oriented Systems with Spec Explorer , 2005, FM.

[24]  Matthew B. Dwyer,et al.  Analyzing interaction orderings with model checking , 2004 .