Model-based fault detection in context-aware adaptive applications

Applications running on mobile devices are heavily context-aware and adaptive, leading to new analysis and testing challenges as streams of context values drive these applications to undesired configurations that are not easily exposed by existing validation techniques. We address this challenge by employing a finite-state model of adaptive behavior to enable the detection of faults caused by (1) erroneous adaptation logic, and (2) asynchronous updating of context information, which leads to inconsistencies between the external physical context and its internal representation within an application. We identify a number of adaptation fault patterns, each describing a class of faulty behaviors that we detect automatically by analyzing the system's adaptation model. We illustrate our approach on a simple but realistic application in which a cellphone's configuration profile is changed automatically based on the user's location, speed and surrounding environment.

[1]  Stephen S. Yau,et al.  Testing context-sensitive middleware-based software applications , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[2]  Gruia-Catalin Roman,et al.  Mobile UNITY: reasoning and specification in mobile computing , 1997, TSEM.

[3]  Premkumar T. Devanbu,et al.  Static checking of dynamically generated queries in database applications , 2004, Proceedings. 26th International Conference on Software Engineering.

[4]  Roy H. Campbell,et al.  A Middleware for Context-Aware Agents in Ubiquitous Computing Environments , 2003, Middleware.

[5]  David S. Rosenblum,et al.  Automated Generation of Context-Aware Tests , 2007, 29th International Conference on Software Engineering (ICSE'07).

[6]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[7]  T. H. Tse,et al.  Testing context-aware middleware-centric programs: a data flow approach and an RFID-based experimentation , 2006, SIGSOFT '06/FSE-14.

[8]  Siobhán Clarke,et al.  CASS - Middleware for Mobile Context-Aware Applications , 1990 .

[9]  Brian Nielsen,et al.  Automated Test Generation from Timed Automata , 2001, TACAS.

[10]  Ferhat Khendek,et al.  Timed Wp-Method: Testing Real-Time Systems , 2002, IEEE Trans. Software Eng..

[11]  A. Jefferson Offutt,et al.  Automated Testing of Timeliness : A Case Study , 2007, Second International Workshop on Automation of Software Test (AST '07).

[12]  Linda Hutcheon,et al.  A Theory of Adaptation , 2006 .

[13]  Shing-Chi Cheung,et al.  Inconsistency detection and resolution for context-aware middleware support , 2005, ESEC/FSE-13.

[14]  Stavros Tripakis,et al.  Conformance testing for real-time systems , 2004, SPIN.

[15]  Hung Keng Pung,et al.  A middleware for building context-aware mobile services , 2004, 2004 IEEE 59th Vehicular Technology Conference. VTC 2004-Spring (IEEE Cat. No.04CH37514).

[16]  Stephen H. Unger,et al.  Hazards, Critical Races, and Metastability , 1995, IEEE Trans. Computers.

[17]  Teruo Higashino,et al.  Generating Test Cases for a Timed I/O Automaton Model , 1999, IWTCS.

[18]  David S. Rosenblum,et al.  Multi-layer faults in the architectures of mobile, context-aware adaptive applications: a position paper , 2008, SAM '08.

[19]  Valerie Barr,et al.  Applications of rule-base coverage measures to expert system evaluation , 1997, Knowl. Based Syst..

[20]  Cecilia Mascolo,et al.  CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications , 2003, IEEE Trans. Software Eng..

[21]  Uma G. Gupta Automatic tools for testing expert systems , 1998, CACM.

[22]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[23]  Shing-Chi Cheung,et al.  Incremental consistency checking for pervasive context , 2006, ICSE '06.

[24]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[25]  Scott Hauck,et al.  Asynchronous design methodologies: an overview , 1995, Proc. IEEE.

[26]  Vinny Cahill,et al.  A framework for developing mobile, context-aware applications , 2004, Second IEEE Annual Conference on Pervasive Computing and Communications, 2004. Proceedings of the.

[27]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.