Runtime testing approach of structural adaptations for dynamic and distributed systems

Adaptable and distributed component-based systems need to be checked and validated in order to ensure their correctness and trustworthiness when structural dynamic changes occur. Runtime testing, seen as an online validation technique, is used in this work for this aim. Indeed, we propose a generic and resource aware test platform that: 1 looks for a minimal set of tests to re-execute written in the TTCN-3 standard notation; 2 assigns the involved test components in execution nodes while respecting resources and connectivity constraints and finally; 3 performs runtime tests with reducing interference risks by supplying different test isolation strategies depending on testability degrees of each component under test. To show the relevance of our solution, a prototype is proposed and illustrated via a case study in the healthcare domain implemented using the OSGi platform.

[1]  Qianxiang Wang,et al.  Online testing of Web-based applications , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[2]  Éric Piel,et al.  Architecture support for runtime integration and verification of component-based Systems of Systems , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering - Workshops.

[3]  Mohamed Jmaiel,et al.  Using Knapsack Problem Model to Design a Resource Aware Test Architecture for Adaptable and Distributed Systems , 2012, ICTSS.

[4]  Tariq M. King,et al.  Safe Runtime Validation of Behavioral Adaptations in Autonomic Software , 2011, ATC.

[5]  Etsi Standard,et al.  Methods for Testing and Specification (MTS); The Testing and Test Control Notation version 3; TTCN-3 Language Extensions: Support of interfaces with continuous signals , 2014 .

[6]  Arie van Deursen,et al.  Evaluation of online testing for services: a case study , 2010, PESOS '10.

[7]  Jeff Magee,et al.  Dynamic Configuration for Distributed Systems , 1985, IEEE Transactions on Software Engineering.

[8]  Andreas Rausch,et al.  Guaranteeing Correctness of Component Bindings in Dynamic Adaptive Systems , 2009, 2009 35th Euromicro Conference on Software Engineering and Advanced Applications.

[9]  Mohamed Jmaiel,et al.  A Distributed Test Architecture for Adaptable and Distributed Real-Time Systems , 2011, CAL.

[10]  Xavier Lorca,et al.  Choco: an Open Source Java Constraint Programming Library , 2008 .

[11]  Ivica Crnkovic,et al.  Configuration Management for Component-based Systems , 2001 .

[12]  Gail E. Kaiser,et al.  Quality Assurance of Software Applications Using the In Vivo Testing Approach , 2009, 2009 International Conference on Software Testing Verification and Validation.

[13]  Raman Kazhamiakin,et al.  A Framework for Proactive Self-adaptation of Service-Based Applications Based on Online Testing , 2008, ServiceWave.

[14]  Tao Yang,et al.  Dependency isolation for thread-based multi-tier Internet services , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[15]  Raghu Ramakrishnan,et al.  Efficient Transitive Closure Algorithms , 1988, VLDB.

[16]  Éric Piel,et al.  A Model for the Measurement of the Runtime Testability of Component-Based Systems , 2009, 2009 International Conference on Software Testing, Verification, and Validation Workshops.

[17]  Henry Muccini,et al.  Software Architectures and Coordination Models , 2004, The Journal of Supercomputing.

[18]  Ina Schieferdecker,et al.  A TTCN-3 based online test and validation platform for Internet services , 2003, The Sixth International Symposium on Autonomous Decentralized Systems, 2003. ISADS 2003..

[19]  Yingxu Wang,et al.  On coping with real-time software dynamic inconsistency by built-in tests , 1999, Ann. Softw. Eng..

[20]  Mariam Lahami,et al.  Test Isolation Policy for Safe Runtime Validation of Evolvable Software Systems , 2013, 2013 Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[21]  Xiaoying Bai,et al.  Dynamic Reconfigurable Testing of Service-Oriented Architecture , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[22]  Éric Piel,et al.  Automating Integration Testing of Large-Scale Publish/Subscribe Systems , 2010, Principles and Applications of Distributed Event-Based Systems.

[23]  Bixin Li,et al.  Matrix-based component dependence representation and its applications in software quality assurance , 2005, SIGP.

[24]  Jonathan Vincent,et al.  Principles of Built-In-Test for Run-Time-Testability in Component-Based Software Systems , 2002, Software Quality Journal.

[25]  Éric Piel,et al.  Data-flow integration testing adapted to runtime evolution in component-based systems , 2009, SINTER '09.

[26]  Colin Atkinson,et al.  Reducing verification effort in component-based software engineering through built-in testing , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference (EDOC'06).

[27]  Colin Atkinson,et al.  Ubiquitous RATs: how resource-aware run-time tests can improve ubiquitous software systems , 2006, SEM '06.