Model Driven Mutation Applied to Adaptative Systems Testing

Dynamically Adaptive Systems modify their behavior and structure in response to changes in their surrounding environment and according to an adaptation logic. Critical systems increasingly incorporate dynamic adaptation capabilities, examples include disaster relief and space exploration systems. In this paper, we focus on mutation testing of the adaptation logic. We propose a fault model for adaptation logics that classifies faults into environmental completeness and adaptation correctness. Since there are several adaptation logic languages relying on the same underlying concepts, the fault model is expressed independently from specific adaptation languages. Taking benefit from model-driven engineering technology, we express these common concepts in a metamodel and define the operational semantics of mutation operators at this level. Mutation is applied on model elements and model transformations are used to propagate these changes to a given adaptation policy in the chosen formalism. Preliminary results on an adaptive web server highlight the difficulty of killing mutants for adaptive systems, and thus the difficulty of generating efficient tests.

[1]  Ozalp Babaoglu,et al.  Consistent global states of distributed systems: fundamental concepts and mechanisms , 1993 .

[2]  Jeff Magee,et al.  Analysing dynamic change in distributed software architectures , 1998, IEE Proc. Softw..

[3]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[4]  Glenn Reeves,et al.  Software architecture themes in JPL's Mission Data System , 1999, 2000 IEEE Aerospace Conference. Proceedings (Cat. No.00TH8484).

[5]  John Keeney,et al.  Chisel: a policy-driven, context-aware, dynamic adaptation framework , 2003, Proceedings POLICY 2003. IEEE 4th International Workshop on Policies for Distributed Systems and Networks.

[6]  Sandeep S. Kulkarni,et al.  Correctness of Component-Based Adaptation , 2004, CBSE.

[7]  Rajarshi Das,et al.  Utility functions in autonomic systems , 2004 .

[8]  Rajarshi Das,et al.  Utility functions in autonomic systems , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[9]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[10]  Frank Eliassen,et al.  Evolving self-adaptive services using planning-based reflective middleware , 2006, ARM '06.

[11]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[12]  K. Beven,et al.  An intelligent and adaptable grid-based flood monitoring and warning system. , 2006 .

[13]  Jean-Marc Jézéquel,et al.  Model-Driven analysis and synthesis of concrete syntax , 2006, MoDELS'06.

[14]  Sandeep S. Kulkarni,et al.  Testing Dynamic Adaptation in Distributed Systems , 2007, Second International Workshop on Automation of Software Test (AST '07).

[15]  Olivier Barais,et al.  Composition of Qualitative Adaptation Policies , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[16]  T. H. Tse,et al.  Testing pervasive software in the presence of context inconsistency resolution services , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[17]  Heather Goldsby,et al.  Modular verification of dynamically adaptive systems , 2009, AOSD '09.