Abstract
This article tackles the problem of detecting and solving potential conflicts among independently developed apps that are to be installed into an open Internet-of-Things (IoT) environment. It provides a new set of definitions and categorizations of the conflicts to more precisely characterize the nature of the problem, and it proposes a representation named “IA Graphs” for formally representing IoT controls and inter-app interplays. Based on the definitions and representation, it then describes an efficient conflict detection algorithm. Combining conflict categories, seriousness indicator, and conflict frequency, an innovative solution policy for solving various detected conflicts is developed, which also takes into account user preference and interest by providing interactive process. It implements a compiler and runtime software system that integrates all the proposed techniques together into a comprehensive solution. Experiments on SmartThings apps validate its significantly better detection efficacy over prior methods and effectiveness of conflict solution with user preference.
- Amittai Aviram, Shu-Chun Weng, Sen Hu, and Bryan Ford. 2012. Efficient system-enforced deterministic parallelism. Commun. ACM 55, 5 (2012), 111--119.Google Scholar
Digital Library
- Gérard Berry. 2000. The Esterel v5 Language Primer: Version v5_91. Centre de mathématiques appliquées, Ecole des mines and INRIA.Google Scholar
- Pavol Bielik, Veselin Raychev, and Martin Vechev. 2015. Scalable race detection for android applications. In ACM SIGPLAN Notices, Vol. 50. ACM, 332--348.Google Scholar
Digital Library
- Eric Boutin, Jaliya Ekanayake, Wei Lin, Bing Shi, Jingren Zhou, Zhengping Qian, Ming Wu, and Lidong Zhou. 2014. Apollo: Scalable and coordinated scheduling for cloud-scale computing. In Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI’14). 285--300.Google Scholar
- N. Cardozo, S. Gonzalez, K. Mens, R. Van Der Straeten, and T. D’Hondt. 2013. Modeling and analyzing self-adaptive systems with context Petri nets. In Proceedings of International Symposium on Theoretical Aspects of Software Engineering.Google Scholar
- Haotian Chi, Qiang Zeng, Xiaojiang Du, and Jiaping Yu. 2018. Cross-app interference threats in smart homes: Categorization, detection and handling. In arXiv e-prints. Retrieved from https://arxiv.org/abs/1808.02125.Google Scholar
- Jason Croft, Ratul Mahajan, Matthew Caesar, and Madan Musuvathi. 2015. Systematically exploring the behavior of control programs. In Proceedings of the USENIX Conference on Usenix Annual Technical Conference (USENIXATC’15). USENIX Association, Berkeley, CA, 165--176. Retrieved from http://dl.acm.org/citation.cfm?id=2813767.2813780.Google Scholar
- Robert I. Davis and Alan Burns. 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Comput. Surveys 43, 4 (2011), 35.Google Scholar
Digital Library
- C. Dixon, R. Mahajan, S. Agarwal, A. J. Brush, B. Lee, S. Saroiu, and P. Bahl. 2012. An operating system for the home. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI’12).Google Scholar
- Gartner, Inc. 2017. The world’s leading information technology research and advisory company. Retrieved from https://www.gartner.com/technology/home.jsp.Google Scholar
- Pilar Gonzalez-Ferez and Angelos Bilas. 2014. Tyche: An efficient Ethernet-based protocol for converged networked storage. In Proceedings of the Symposium on Mass Storage Systems and Technologies.Google Scholar
Cross Ref
- Groovy. 2017. Groovy Programming Language. Retrieved from http://www.groovy-lang.org.Google Scholar
- C. H. Hsiao, J. Yu, S. Narayanasamy, Z. Kong, C. L. Pereira, G. A. Pokam, P. M. Chen, and Jason Flinn. 2014. Race detection for event-driven mobile systems. In Proceedings of the International Conference on Programming Language Design and Implementation (PLDI’14).Google Scholar
- IFTTT 2017. IFTTT website. Retrieved from http://ifttt.com.Google Scholar
- ITU. 2015. Internet of Things Global Standards Initiative. Retrieved from https://www.itu.int/en/ITU-T/gsi/iot/Pages/default.aspx.Google Scholar
- Yunhan Jack Jia, Qi Alfred Chen, Shiqi Wang, Amir Rahmati, Earlence Fernandes, Z. Morley Mao, and Atul Prakash. 2017. ContexloT: Toward providing contextual integrity to appified IoT platforms. In Proceedings of the Network and Distributed System Security Symposium (NDSS'17). Retrieved from https://www.ndss-symposium.org/ndss2017/ndss-2017-programme/contexlot-towards-providing-contextual-integrity-appified-iot-platforms/.Google Scholar
Cross Ref
- Bakhtiar Khan Kasi and Anita Sarma. 2013. Cassandra: Proactive conflict minimization through optimized task scheduling. In Proceedings of the 35th International Conference on Software Engineering (ICSE’13). IEEE, 732--741.Google Scholar
Cross Ref
- Ahmed Khurshid, Xuan Zou, Wenxuan Zhou, Matthew Caesar, and P. Brighten Godfrey. 2013. Veriflow: Verifying network-wide invariants in real time. In Proceedings of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI’13). 15--27.Google Scholar
Digital Library
- Xinyi Li, Lei Zhang, and Xipeng Shen. 2019. IA-graph-based inter-app conflicts detection in open IoT systems. In Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems. DOI:https://doi.org/10.1145/3316482.3326350Google Scholar
Digital Library
- Chieh-Jan Mike Liang, Lei Bu, Zhao Li, Junbei Zhang, Shi Han, Börje F. Karlsson, Dongmei Zhang, and Feng Zhao. 2016. Systematically debugging iot control system correctness for building automation. In Proceedings of the 3rd ACM International Conference on Systems for Energy-Efficient Built Environments (BuildSys’16). ACM, New York, NY, 133--142. DOI:https://doi.org/10.1145/2993422.2993426Google Scholar
Digital Library
- Chieh-Jan Mike Liang, Börje F. Karlsson, Nicholas D. Lane, Feng Zhao, Junbei Zhang, Zheyi Pan, Zhao Li, and Yong Yu. 2015. SIFT: Building an Internet of Safe Things. In Proceedings of the 14th International Conference on Information Processing in Sensor Networks (IPSN’15). ACM, New York, NY, 298--309. DOI:https://doi.org/10.1145/2737095.2737115Google Scholar
Digital Library
- Pallavi Maiya, Aditya Kanade, and Rupak Majumdar. 2014. Race detection for Android applications. In ACM SIGPLAN Notices, Vol. 49. ACM, 316--325.Google Scholar
Digital Library
- Sirajum Munir and John A. Stankovic. 2014. DepSys: Dependency aware integration of cyber-physical systems for smart homes. In Proceedings of the ACM/IEEE 5th International Conference on Cyber-Physical Systems (with CPS Week 2014) (ICCPS’14). IEEE Computer Society, Washington, DC, 127--138. DOI:https://doi.org/10.1109/ICCPS.2014.6843717Google Scholar
Digital Library
- Wolfgang Reisig. 1985. Petri Nets: An Introduction. Springer-Verlag, Berlin, Heidelberg. Retrieved from https://dl.acm.org/doi/book/10.5555/3405.Google Scholar
Digital Library
- SmartApp. 2017. SmartApp Repository. Retrieved from https://github.com/SmartThingsCommunity/SmartThingsPublic.Google Scholar
- SmartThings. 2017. SmartThings by Samsung. Retrieved from http://www.smartthings.com.Google Scholar
- Yuan Tian, Nan Zhang, Yuehhsun Lin, Xiaofeng Wang, Blase Ur, Xianzheng Guo, and Patrick Tague. 2017. SmartAuth: User-centered authorization for the Internet of Things. In Proceedings of the USENIX Security Symposium. 361--378.Google Scholar
- VisionMobile. 2017. A leading analyst firm in the developer economy. Retrieved from https://www.visionmobile.com.Google Scholar
- Z3. 2017. Z3 Theorem Prover by Microsoft Research. Retrieved from https://z3.codeplex.com.Google Scholar
Index Terms
DIAC: An Inter-app Conflicts Detector for Open IoT Systems
Recommendations
IA-graph based inter-app conflicts detection in open IoT systems
LCTES 2019: Proceedings of the 20th ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded SystemsThis paper tackles the problem of detecting potential conflicts among independently developed apps that are to be installed into an open Internet of Things (IoT) environment. It provides a new set of definitions and categorizations of the conflicts to ...
Reconciling transactional conflicts with compiler's help
CGO '12: Proceedings of the Tenth International Symposium on Code Generation and OptimizationSoftware transactional memory(STM) is a promising programming paradigm for shared memory multithreaded programs. While STM offers the promise of being less error-prone and more programmer friendly compared to traditional lock-based synchronization, it ...
Dynamic conflict detection and resolution in a human-centered ubiquitous environment
UAHCI'07: Proceedings of the 4th international conference on Universal access in human-computer interaction: ambient interactionIn this paper, a Conflict Control Manager (CCM) for a ubiquitous services system is presented to prevent the mode confusion of humans. CCM consists of a lock-based conflict detection module and a D-PRI (dynamic priority)-based conflict resolution. By ...






Comments