GEAS: Generic Adaptive Scheduling for High-Efficiency Context Inconsistency Detection

Context-aware applications adapt their behavior based on collected contexts. However, contexts can be inaccurate due to sensing noise, which might cause applications to misbehave. One promising approach is to check contexts against consistency constraints at runtime, so as to detect context inconsistencies for applications and resolve them in time. The checking is typically immediate upon each collected context change. Such a scheduling strategy is intuitive for avoiding missing context inconsistencies in the detection, but may cause low-efficiency problems for heavy-workload checking scenarios, even if equipped with existing incremental or parallel constraint checking techniques. One may choose to check contexts in a batch way to increase the efficiency by reducing the number of constraint checking. However, this can easily cause missed context inconsistencies, denying the purpose of inconsistency detection. In this paper, we propose a novel scheduling strategy GEAS of two nice properties: (1) adaptively tuning the batch window to avoid missing any context inconsistency; (2) generic to checking techniques with no or little adjustment. We experimentally evaluated GEAS against the immediate strategy with existing constraint checking techniques. The experimental results show that GEAS achieved 143-645% efficiency improvement without missing any context inconsistency, while alternatives caused 39.2-65.3% loss of detected context inconsistencies.

[1]  Sander van der Burg,et al.  A self-adaptive deployment framework for service-oriented systems , 2011, SEAMS '11.

[2]  Romain Rouvoy,et al.  Enabling Context-Aware Web Services: A Middleware Approach , 2010 .

[3]  David S. Rosenblum,et al.  Model-based fault detection in context-aware adaptive applications , 2008, SIGSOFT '08/FSE-16.

[4]  Christoffer Quist Adamsen,et al.  Systematic execution of Android test suites in adverse conditions , 2015, ISSTA.

[5]  Udo Kelter,et al.  Consistency-preserving edit scripts in model versioning , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[6]  Amy L. Murphy,et al.  LIME: A coordination model and middleware supporting mobility of hosts and agents , 2006, TSEM.

[7]  Steven P. Reiss Incremental Maintenance of Software Artifacts , 2006, IEEE Trans. Software Eng..

[8]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

[9]  Jorge Lobo,et al.  Conflict Resolution Using Logic Programming , 2003, IEEE Trans. Knowl. Data Eng..

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

[11]  Shing-Chi Cheung,et al.  Heuristics-Based Strategies for Resolving Context Inconsistencies in Pervasive Computing Applications , 2008, 2008 The 28th International Conference on Distributed Computing Systems.

[12]  Jian Lu,et al.  Cina: Suppressing the Detection of Unstable Context Inconsistency , 2015, IEEE Transactions on Software Engineering.

[13]  Tom Mens,et al.  Detecting model inconsistency through operation-based model construction , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[14]  David S. Rosenblum,et al.  Multi-layer faults in the architectures of mobile, context-aware adaptive applications , 2010, J. Syst. Softw..

[15]  Shing-Chi Cheung,et al.  Partial constraint checking for context consistency in pervasive computing , 2010, TSEM.

[16]  David S. Rosenblum,et al.  Context-Aware Adaptive Applications: Fault Patterns and Their Automated Identification , 2010, IEEE Transactions on Software Engineering.

[17]  Luca Benini,et al.  3dID: a low-power, low-cost hand motion capture device , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[18]  William G. Griswold,et al.  A component architecture for an extensible, highly integrated context-aware computing infrastructure , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[19]  Roy H. Campbell,et al.  An infrastructure for context-awareness based on first order logic , 2003, Personal and Ubiquitous Computing.

[20]  Martin C. Rinard,et al.  Goal-Directed Reasoning for Specification-Based Data Structure Repair , 2006, IEEE Transactions on Software Engineering.

[21]  Jian Lv,et al.  Towards context consistency by concurrent checking for Internetware applications , 2013, Science China Information Sciences.

[22]  Jian Lu,et al.  Adam: Identifying defects in context-aware adaptation , 2012, J. Syst. Softw..

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

[24]  Roy H. Campbell,et al.  ConChat: A Context-Aware Chat Program , 2002, IEEE Pervasive Comput..

[25]  Christine Julien,et al.  EgoSpaces: facilitating rapid development of context-aware mobile applications , 2006, IEEE Transactions on Software Engineering.

[26]  Wolfgang Emmerich,et al.  Flexible consistency checking , 2003, TSEM.

[27]  Shing-Chi Cheung,et al.  On impact-oriented automatic resolution of pervasive context inconsistency , 2007, ESEC-FSE '07.

[28]  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.

[29]  Alexander Egyed,et al.  Efficient detection of inconsistencies in a multi-developer engineering environment , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[30]  Hans-Arno Jacobsen,et al.  Hybrid context inconsistency resolution for context-aware services , 2011, 2011 IEEE International Conference on Pervasive Computing and Communications (PerCom).

[31]  Licia Capra,et al.  xlinkit: a consistency checking and smart link generation service , 2002, TOIT.

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

[33]  Jian Lu,et al.  Hybrid CPU-GPU constraint checking: Towards efficient context consistency , 2016, Inf. Softw. Technol..

[34]  Haiyan Zhao,et al.  Supporting automatic model inconsistency fixing , 2009, ESEC/SIGSOFT FSE.

[35]  Sam Malek,et al.  SIG-Droid: Automated system input generation for Android applications , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).