Evaluating and improving the automatic analysis of implicit invocation systems

Model checking and other finite-state analysis techniques have been very successful when used with hardware systems and less successful with software systems. It is especially difficult to analyze software systems developed with the implicit invocation architectural style because the loose coupling of their components increases the size of the finite state model. In this paper we provide insight into the larger problem of how to make model checking a better analysis and verification tool for software systems. Specifically, we will extend an existing approach to model checking implicit invocation to allow for the modeling of larger and more realistic systems. Our focus will be on improving the representation of events, event delivery policies and event-method bindings. We also evaluate our technique on two non-trivial examples. In one of our examples, we will show how with iterative analysis a system parameter can be chosen to meet the appropriate system requirements.

[1]  David Garlan,et al.  Reasoning about implicit invocation , 1998, SIGSOFT '98/FSE-6.

[2]  Sylvia Stuurman,et al.  On-line change mechanisms: the software architectural level , 1998, SIGSOFT '98/FSE-6.

[3]  Andy Hopper,et al.  The active badge location system , 1992, TOIS.

[4]  James C. Corbett,et al.  Bandera: extracting finite-state models from Java source code , 2000, ICSE.

[5]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[6]  Mehdi T. Harandi,et al.  Workshop on software specification and design , 1988, SOEN.

[7]  David Garlan,et al.  Model checking implicit-invocation systems , 2000, Tenth International Workshop on Software Specification and Design. IWSSD-10 2000.

[8]  Jürgen Dingel,et al.  Towards a Formal Treatment of Implicit Invocation Using Rely/Guarantee Reasoning , 1998, Formal Aspects of Computing.

[9]  Michel Wermelinger,et al.  Algebraic software architecture reconfiguration , 1999, ESEC/FSE-7.

[10]  David Notkin,et al.  Reconciling environment integration and software evolution , 1992, TSEM.

[11]  Gerard J. Holzmann,et al.  An Automated Verification Method for Distributed Systems Software Based on Model Extraction , 2002, IEEE Trans. Software Eng..

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