Experience-Based Model Refinement
The resilience of a software system can be guaranteed, among other techniques, by model checking. In that setting, it consists in exploring every execution of the system to detect violations of resilience properties. One approach is to automatically transform the program into a model. To harness the system complexity and the state space explosion, designers usually abstract details of the studied system. However, abstracting too many details may dramatically impact the validity of the model checking. This includes details about the execution environment on which resilience properties are often based. This article sketches an iterative methodology to verify and refine the transformation. We introduce the concept of witness programs to reveal a set of behaviors that the transformation must preserve.
KeywordsModel Check Model Transformation Execution Environment Race Condition Instance Variable
Unable to display preview. Download preview PDF.
- 5.IBM: Rational Software Architect for WebSphere Software (2010), http://www-01.ibm.com/software/awdtools/swarchitect/websphere/ (visited in June 2010)
- 8.Di Marzo Serugendo, G., Guelfi, N., Romanovsky, A., Zorzo, A.F.: Formal development and validation of java dependable distributed systems. In: Proceedings of the 5th International Conference on Engineering of Complex Computer Systems, ICECCS 1999, pp. 98–108. IEEE Computer Society, Washington, DC, USA (1999)Google Scholar
- 9.Holzmann, G.: Spin model checker, the: primer and reference manual, 1st edn. Addison-Wesley Professional, Reading (2003)Google Scholar
- 10.Klebanov, V.: Verify This, http://verifythis.cost-ic0701.org/