The Community for Technology Leaders
RSS Icon
Issue No.05 - September/October (2010 vol.36)
pp: 644-661
Michele Sama , University College London, UK
Sebastian Elbaum , University of Nebraska, Lincoln, NE
Franco Raimondi , University College London, UK
David S. Rosenblum , University College, London, UK
Zhimin Wang , University of Nebraska, Lincoln, NE
Applications running on mobile devices are intensely context-aware and adaptive. Streams of context values continuously drive these applications, making them very powerful but, at the same time, susceptible to undesired configurations. Such configurations are not easily exposed by existing validation techniques, thereby leading to new analysis and testing challenges. In this paper, we address some of these challenges by defining and applying a new model of adaptive behavior called an Adaptation Finite-State Machine (A-FSM) to enable the detection of faults caused by both erroneous adaptation logic and asynchronous updating of context information, with the latter leading 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. Finally, we describe three classes of algorithms to detect such faults automatically via analysis of the A-FSM. We evaluate our approach and the trade-offs between the classes of algorithms on a set of synthetically generated Context-Aware Adaptive Applications (CAAAs) and on a simple but realistic application in which a cell phone's configuration profile changes automatically as a result of changes to the user's location, speed, and surrounding environment. Our evaluation describes the faults our algorithms are able to detect and compares the algorithms in terms of their performance and storage requirements.
Adaptation, context-awareness, fault detection, mobile computing, model-based analysis, model checking, ordered binary decision diagrams, symbolic verification, ubiquitous computing.
Michele Sama, Sebastian Elbaum, Franco Raimondi, David S. Rosenblum, Zhimin Wang, "Context-Aware Adaptive Applications: Fault Patterns and Their Automated Identification", IEEE Transactions on Software Engineering, vol.36, no. 5, pp. 644-661, September/October 2010, doi:10.1109/TSE.2010.35
[1] V. Barr, "Applications of Rule-Base Coverage Measures to Expert System Evaluation," Proc. Nat'l Conf. Artificial Intelligence and Ninth Innovative Applications of Artificial Intelligence Conf., pp. 411-416, July 1997.
[2] G. Biegel and V. Cahill, "A Framework for Developing Mobile, Context-Aware Applications," Proc. Second IEEE Int'l Ann. Conf. Pervasive Computing and Comm., pp. 361-365, Mar. 2004.
[3] R.E. Bryant, "Symbolic Boolean Manipulation with Ordered Binary-Decision Diagrams," ACM Computing Surveys, vol. 24, no. 3, pp. 293-318, 1992.
[4] L. Capra, W. Emmerich, and C. Mascolo, "Carisma: Context-Aware Reflective Middleware System for Mobile Applications," IEEE Trans. Software Eng., vol. 29, no. 10, pp. 929-945, Oct. 2003.
[5] E.M. Clarke, E.A. Emerson, and A.P. Sistla, "Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications," ACM Trans. Programming Languages and Systems, vol. 8, no. 2, pp. 244-263, 1986.
[6] E.M. Clarke, O. Grumberg, and D.A. Peled, Model Checking. MIT Press, 1999.
[7] J. Cubo, M. Sama, F. Raimondi, and D.S. Rosenblum, "A Model to Design and Verify Context-Aware Adaptive Service Composition," Proc. IEEE Int'l Conf. Services Computing, Sept. 2009.
[8] "Track Your Mobile Carbon Footprint. Reduce and Offset It. Inspire Others to Do the Same," http:/, Oct. 2009.
[9] P. Fahy and S. Clarke, "CASS—Middleware for Mobile Context-Aware Applications," Proc. MobiSys Workshop Context Awareness, pp. 304-308, June 2004.
[10] J. Floch, "Theory of Adaptation," Deliverable D2.2, MADAM Project, madam-deliverablestechreportreference.2007-04-13.0451108510 , 2006.
[11] T. Gu, H.K. Pung, and D.Q. Zhang, "A Middleware for Building Context-Aware Mobile Services," Proc. IEEE Vehicular Technology Conf., pp. 2656-2660, May 2004.
[12] U.G. Gupta, "Automatic Tools for Testing Expert Systems," Comm. ACM, vol. 5, pp. 179-184, May 1998.
[13] M.P. Heimdahl and N.G. Leveson, "Completeness and Consistency in Hierarchical State-Based Requirements," IEEE Trans. Software Eng., vol. 22, no. 6, pp. 363-377, June 1996.
[14] C.L. Heitmeyer, R.D. Jeffords, and B.G. Labaw, "Automated Consistency Checking of Requirements Specifications," ACM Trans. Software Eng. and Methodology, vol. 5, no. 3, pp. 231-261, 1996.
[15] JavaBDD, Version 2.0, http:/, June 2009.
[16] Life360: Live Confidently, http:/, Oct. 2009.
[17] Locale, http:/, June 2009.
[18] H. Lu, W.K. Chan, and T.H. Tse, "Testing Context-Aware Middleware-Centric Programs: A Data Flow Approach and an RFID-Based Experimentation," Proc. Int'l Symp. Foundations of Software Eng., pp. 242-252, Nov. 2006.
[19] A. Ranganathan and R.H. Campbell, "A Middleware for Context-Aware Agents in Ubiquitous Computing Environments," Proc. ACM/IFIP/USENIX Int'l Middleware Conf., pp. 143-161, June 2003.
[20] G.-C. Roman, P.J. McCann, and J.Y. Plun, "Mobile UNITY: Reasoning and Specification in Mobile Computing," ACM Trans. Software Eng. and Methodology, vol. 6, no. 3, pp. 250-282, July 1997.
[21] M. Sama, "CAAA Verifier," caaaverification /, 2010.
[22] M. Sama, F. Raimondi, D.S. Rosenblum, and W. Emmerich, "Algorithms for Efficient Symbolic Detection of Faults in Context-Aware Applications," Proc. First Int'l Workshop Automated Eng. of Autonomous and Run-Time Evolving Systems, pp. 1-8, Sept. 2008.
[23] M. Sama and D. Rosenblum, ContextNotifier, http://code. /, June 2009.
[24] M. Sama, and D. Rosenblum, TestingEmulator, http://code. /, June 2009.
[25] M. Sama, D.S. Rosenblum, Z. Wang, and S. Elbaum, "Model-Based Fault Detection in Context-Aware Adaptive Applications," Proc. 16th ACM SIGSOFT Int'l Symp. Foundations of Software Eng., pp. 261-271, Nov. 2008.
[26] Softrace, http:/, Oct. 2009.
[27] T. Tse, S. Yau, W. Chan, H. Lu, and T. Chen, "Testing Context-Sensitive Middleware-Based Software Applications," Proc. Int'l Computer Software and Applications Conf., pp. 458-465, Sept. 2004.
[28] Z. Wang, S. Elbaum, and D.S. Rosenblum, "Automated Generation of Context-Aware Tests," Proc. Int'l Conf. Software Eng., pp. 406-415, May 2007.
[29] G. Wassermann, C. Gould, Z. Su, and P. Devanbu, "Static Checking of Dynamically Generated Queries in Database Applications," ACM Trans. Software Eng. and Methodology, vol. 16, no. 4 article 14, 2007.
[30] The Mobile App for Nightlife, http:/, Oct. 2009.
[31] J. Whittle, P. Sawyer, N. Bencomo, B.H. Cheng, and J.-M. Bruel, "RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems," Proc. 17th IEEE Int'l Conf. Requirements Eng., pp. 79-88, 2009.
[32] C. Xu and S.C. Cheung, "Inconsistency Detection and Resolution for Context-Aware Middleware Support," Proc. Joint 10th European Software Eng. Conf. and 13th ACM SIGSOFT Symp. Foundations of Software Eng., pp. 336-345, Sept. 2005.
[33] C. Xu, S.C. Cheung, and W.K. Chan, "Incremental Consistency Checking for Pervasive Context," Proc. Int'l Conf. Software Eng., pp. 292-301, May 2006.
21 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool