skip to main content
research-article

DIAC: An Inter-app Conflicts Detector for Open IoT Systems

Published:03 October 2020Publication History
Skip Abstract Section

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.

References

  1. Amittai Aviram, Shu-Chun Weng, Sen Hu, and Bryan Ford. 2012. Efficient system-enforced deterministic parallelism. Commun. ACM 55, 5 (2012), 111--119.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Gérard Berry. 2000. The Esterel v5 Language Primer: Version v5_91. Centre de mathématiques appliquées, Ecole des mines and INRIA.Google ScholarGoogle Scholar
  3. Pavol Bielik, Veselin Raychev, and Martin Vechev. 2015. Scalable race detection for android applications. In ACM SIGPLAN Notices, Vol. 50. ACM, 332--348.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. Gartner, Inc. 2017. The world’s leading information technology research and advisory company. Retrieved from https://www.gartner.com/technology/home.jsp.Google ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. Groovy. 2017. Groovy Programming Language. Retrieved from http://www.groovy-lang.org.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. IFTTT 2017. IFTTT website. Retrieved from http://ifttt.com.Google ScholarGoogle Scholar
  15. ITU. 2015. Internet of Things Global Standards Initiative. Retrieved from https://www.itu.int/en/ITU-T/gsi/iot/Pages/default.aspx.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarCross RefCross Ref
  17. 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 ScholarGoogle ScholarCross RefCross Ref
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Pallavi Maiya, Aditya Kanade, and Rupak Majumdar. 2014. Race detection for Android applications. In ACM SIGPLAN Notices, Vol. 49. ACM, 316--325.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. Wolfgang Reisig. 1985. Petri Nets: An Introduction. Springer-Verlag, Berlin, Heidelberg. Retrieved from https://dl.acm.org/doi/book/10.5555/3405.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. SmartApp. 2017. SmartApp Repository. Retrieved from https://github.com/SmartThingsCommunity/SmartThingsPublic.Google ScholarGoogle Scholar
  26. SmartThings. 2017. SmartThings by Samsung. Retrieved from http://www.smartthings.com.Google ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. VisionMobile. 2017. A leading analyst firm in the developer economy. Retrieved from https://www.visionmobile.com.Google ScholarGoogle Scholar
  29. Z3. 2017. Z3 Theorem Prover by Microsoft Research. Retrieved from https://z3.codeplex.com.Google ScholarGoogle Scholar

Index Terms

  1. DIAC: An Inter-app Conflicts Detector for Open IoT Systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Embedded Computing Systems
        ACM Transactions on Embedded Computing Systems  Volume 19, Issue 6
        Special Issue on LCETES, Part 2, Learning, Distributed, and Optimizing Compilers
        November 2020
        271 pages
        ISSN:1539-9087
        EISSN:1558-3465
        DOI:10.1145/3427195
        Issue’s Table of Contents

        Copyright © 2020 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 3 October 2020
        • Online AM: 7 May 2020
        • Revised: 1 March 2020
        • Accepted: 1 March 2020
        • Received: 1 November 2019
        Published in tecs Volume 19, Issue 6

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format .

      View HTML Format
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!