A reusable structural design for mobile collaborative applications
Journal of Systems and Software
Amplifying tests to validate exception handling code
Proceedings of the 34th International Conference on Software Engineering
A survey of formal methods in self-adaptive systems
Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering
Adam: Identifying defects in context-aware adaptation
Journal of Systems and Software
Dynamic fault detection in context-aware adaptation
Proceedings of the Fourth Asia-Pacific Symposium on Internetware
AFChecker: Effective model checking for context-aware adaptive applications
Journal of Systems and Software
Report on the international symposium on high confidence software (ISHCS 2011/2012)
ACM SIGSOFT Software Engineering Notes
IDEA: improving dependability for self-adaptive applications
Proceedings of the 2013 Middleware Doctoral Symposium
Managing environment and adaptation risks for the internetware paradigm
Theories of Programming and Formal Methods
An approach to testing commercial embedded systems
Journal of Systems and Software
A transformation-based approach to context-aware modelling
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
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.