skip to main content
10.1145/2993422.2993426acmconferencesArticle/Chapter ViewAbstractPublication PagesbuildsysConference Proceedingsconference-collections
research-article

Systematically Debugging IoT Control System Correctness for Building Automation

Published: 16 November 2016 Publication History

Abstract

Advances and standards in Internet of Things (IoT) have simplified the realization of building automation. However, non-expert IoT users still lack tools that can help them to ensure the underlying control system correctness: user-programmable logics match the user intention. In fact, non-expert IoT users lack the necessary know-how of domain experts. This paper presents our experience in running a building automation service based on the Salus framework. Complementing efforts that simply verify the IoT control system correctness, Salus takes novel steps to tackle practical challenges in automated debugging of identified policy violations, for non-expert IoT users. First, Salus leverages formal methods to localize faulty user-programmable logics. Second, to debug these identified faults, Salus selectively transforms the control system logics into a set of parameterized equations, which can then be solved by popular model checking tools or SMT (Satisfiability Modulo Theories) solvers. Through office deployments, user studies, and public datasets, we demonstrate the usefulness of Salus in systematically debugging the correctness of IoT control systems for building automation.

Supplementary Material

MOV File (p133.mov)

References

[1]
AllJoyn. http://www.alljoyn.org.
[2]
IFTTT: Put the internet to work for you. http://ifttt.com.
[3]
Thread. http://threadgroup.org.
[4]
WSU CASAS Datasets. http://ailab.wsu.edu/casas/datasets.
[5]
Amazon. Device Registry for AWS IoT. http://docs.aws.amazon.com/iot/latest/developerguide/thing-registry.html.
[6]
Apple. HomeKit. http://developer.apple.com/homekit.
[7]
T. Ball, M. Naik, and S. K. Rajamani. From Symptom to Cause: Localizing Errors in Counterexample Traces. In POPL, 2003.
[8]
I. Beer, S. Ben-David, H. Chockler, A. Orni, and R. Trefler. Explaining counterexamples using causality. Formal Methods in System Design, 2012.
[9]
Belkin. Wemo. http://www.belkin.com/us/Products/c/home-automation.
[10]
A. Brush, B. Lee, R. Mahajan, S. Agarwal, S. Saroiu, and C. Dixon. Home automation in the wild: challenges and opportunities. In CHI, 2011.
[11]
L. Bu, Q. Wang, X. Chen, L. Wang, T. Zhang, J. Zhao, and X. Li. Toward Online Hybrid Systems Model Checking of Cyber-Physical SystemsŠ Time-Bounded Short-Run Behavior. In ACM SIGBED Review, 2011.
[12]
S. Chandra, E. Torlak, S. Barman, and R. Bodík. Angelic Debugging. In ICSE, 2011.
[13]
M. Chechik and A. Gurfinkel. A framework for counterexample generation and exploration. STTT, 9(5-6), 2007.
[14]
C. Chen and S. Helal. A Device-Centric Approach to a Safer Internet of Things. In NoME-IoT, 2011.
[15]
A. Cimatti, E. Clarke, E. Giunchiglia, F. Giunchiglia, M. Pistore, M. Roveri, R. Sebastiani, and A. Tacchella. NuSMV Version 2: An OpenSource Tool for Symbolic Model Checking. In CAV. Springer, 2002.
[16]
E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. Trans. PLS, 8(2), 1986.
[17]
CNN. Why It's So Easy To Hack Your Home. http://cnn.com/2013/08/14/opinion/schneier-hacking-baby-monitor/, 2013.
[18]
J. Croft, R. Mahajan, M. Caesar, and M. Musuvathi. Systematically Exploring the Behavior of Control Programs. In ATC. USENIX, 2015.
[19]
L. de Moura and N. Bjørner. Z3: An Efficient SMT Solver. In TACAS, 2008.
[20]
N. Dershowitz, Z. Hanna, and A. Nadel. A Scalable Algorithm for Minimal Unsatisfiable Core Extraction. In SAT. Springer, 2006.
[21]
C. Dixon, R. Mahajan, S. Agarwal, A. B. Brush, B. Lee, S. Saroiu, and P. Bahl. An Operating System for the Home. In NSDI. USENIX, 2012.
[22]
Google. Weave. http://developers.google.com/weave.
[23]
A. Griesmayer, S. Staber, and R. Bloem. Automated Fault Localization for C Programs. In ENTCS. Elsevier, 2007.
[24]
A. Groce. Error Explanation with Distance Metrics. In TACAS, 2004.
[25]
T. A. Henzinger. The Theory of Hybrid Automata. In LICS, 1996.
[26]
T. A. Henzinger, P.-H. Ho, and H. Wong-Toi. HyTech: A Model Checker for Hybrid Systems. In CAV. Springer, 1997.
[27]
Icontrol. State of the Smart Home 2015. Technical report, 2015.
[28]
Insteon. Insteon. http://insteon.com.
[29]
B. Jobstmann, S. Staber, A. Griesmayer, and R. Bloem. Finding and Fixing Faults. In Journal of Computer and System Sciences, 2012.
[30]
M. Jose and R. Majumdar. Cause Clue Clauses: Error Localization Using Maximum Satisfiability. SIGPLAN Note, 46(6):437--446, June 2011.
[31]
C.-J. M. Liang, B. F. Karlsson, N. D. Lane, F. Zhao, J. Zhang, Z. Pan, Z. Li, and Y. Yu. SIFT: Building an Internet of Safe Things. In IPSN, 2015.
[32]
F. Logozzo and T. Ball. Modular and Verified Automatic Program Repair. In OOPSLA, 2012.
[33]
P. J. Marrón, A. Lachenmann, D. Minder, J. Hahner, R. Sauter, and K. Rothermel. TinyCubus: A Flexible and Adaptive Framework Sensor Networks. In EWSN. IEEE, 2005.
[34]
C. M. Medaglia and A. Serbanati. An Overview of Privacy and Security Issues in the Internet of Things. In The Internet of Things. Springer, 2010.
[35]
S. Munir and J. A. Stankovic. DepSys: Dependency Aware integration of Cyber-Physical Systems for Smart Homes. In ICCPS, 2014.
[36]
M. W. Newman, A. Elliott, and T. F. Smith. Providing an integrated user experience of networked media, devices, and services through end-user composition. In Pervasive Computing. Springer, 2008.
[37]
P. Nolan and M. Adair. Untangling The Web Of Liability In The Internet Of Things. http://www.mhc.ie/latest/untangling-the-web-of-liability-in-the-internet-of-things.
[38]
Nominet. Nominet IoT Registry. http://nominet.uk.
[39]
J. F. Pane, C. Ratanamahatana, B. A. Myers, et al. Studying the language and structure in non-programmers' solutions to programming problems. IJHCS, 2001.
[40]
C. Parnin and A. Orso. Are Automated Debugging Techniques Actually Helping Programmers? In ISSTA, 2011.
[41]
M. Pezzè, M. C. Rinard, W. Weimer, and A. Zeller. Self-repairing Programs. In Dagstuhl Reports, 2011.
[42]
Philips. Hue. http://www.meethue.com.
[43]
R. Samanta, J. V. Deshmukh, and E. A. Emerson. Automatic Generation of Local Repairs for Boolean Programs. In FMCAD, 2008.
[44]
N. Tillmann and W. Schulte. Parameterized Unit Tests. In ESEC/FSE, 2005.
[45]
B. Ur, E. McManus, M. P. Y. Ho, and M. L. Littman. Practical Trigger-Action Programming in the Smart Home. In CHI. ACM, 2014.
[46]
Verizon. State of the Market - The Internet of Things 2015. Technical report, 2015.
[47]
W3C. Schema.org. http://schema.org.
[48]
Y. Wei, Y. Pei, C. A. Furia, L. S. Silva, S. Buchholz, B. Meyer, and A. Zeller. Automated Fixing of Programs with Contracts. In ISSTA, 2010.
[49]
Y. Yu, L. J. Rittle, V. Bhandari, and J. B. LeBrun. Supporting concurrent applications in wireless sensor networks. In SenSys, 2006.

Cited By

View all
  • (2024)SMT-as-a-Service for Fog-Supported Cyber-Physical SystemsProceedings of the 25th International Conference on Distributed Computing and Networking10.1145/3631461.3631562(154-163)Online publication date: 4-Jan-2024
  • (2024)Righteous: Automatic Right-Sizing for Complex Edge Deployments2024 IEEE/ACM Symposium on Edge Computing (SEC)10.1109/SEC62691.2024.00010(15-28)Online publication date: 4-Dec-2024
  • (2024)Threat Detection in Trigger-Action Programming Rules of Smart Home With Heterogeneous Information Network ModelIEEE Internet of Things Journal10.1109/JIOT.2024.336295011:10(18320-18334)Online publication date: 15-May-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
BuildSys '16: Proceedings of the 3rd ACM International Conference on Systems for Energy-Efficient Built Environments
November 2016
273 pages
ISBN:9781450342643
DOI:10.1145/2993422
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 November 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. IoT
  2. policy verification
  3. policy violation debugging

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

Acceptance Rates

Overall Acceptance Rate 148 of 500 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)36
  • Downloads (Last 6 weeks)4
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)SMT-as-a-Service for Fog-Supported Cyber-Physical SystemsProceedings of the 25th International Conference on Distributed Computing and Networking10.1145/3631461.3631562(154-163)Online publication date: 4-Jan-2024
  • (2024)Righteous: Automatic Right-Sizing for Complex Edge Deployments2024 IEEE/ACM Symposium on Edge Computing (SEC)10.1109/SEC62691.2024.00010(15-28)Online publication date: 4-Dec-2024
  • (2024)Threat Detection in Trigger-Action Programming Rules of Smart Home With Heterogeneous Information Network ModelIEEE Internet of Things Journal10.1109/JIOT.2024.336295011:10(18320-18334)Online publication date: 15-May-2024
  • (2024)Cascading Threat Analysis of IoT Devices in Trigger-Action PlatformsIEEE Internet of Things Journal10.1109/JIOT.2023.333527911:7(12240-12251)Online publication date: 1-Apr-2024
  • (2024)Ontology-Based Classification and Detection of the Smart Home Automation Rules ConflictsIEEE Access10.1109/ACCESS.2024.341563212(85072-85088)Online publication date: 2024
  • (2023)Detecting and handling IoT interaction threats in multi-platform multi-control-channel smart homesProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620325(1559-1576)Online publication date: 9-Aug-2023
  • (2023)Security Checking of Trigger-Action-Programming Smart Home IntegrationsProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598084(639-651)Online publication date: 12-Jul-2023
  • (2023)Helping Users Debug Trigger-Action ProgramsProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/35695066:4(1-32)Online publication date: 11-Jan-2023
  • (2023)IoTCom: Dissecting Interaction Threats in IoT SystemsIEEE Transactions on Software Engineering10.1109/TSE.2022.317929449:4(1523-1539)Online publication date: 1-Apr-2023
  • (2023)How End Users Develop Point-and-Click GamesEnd-User Development10.1007/978-3-031-34433-6_14(220-229)Online publication date: 6-Jun-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media