Understanding and Automatically Detecting Conflicting Interactions between Smart Home Applications
Smart home devices provide the convenience of remotely controlling and automating home appliances. The most advanced smart home environments allow developers to write apps to make smart home devices work together to accomplish tasks, e.g., home security and energy conservation. A smart home app typically implements narrow functionality and thus to fully implement desired functionality homeowners may need to install multiple apps. These different apps can conflict with each other and these conflicts can result in undesired actions such as locking the door during a fire.
In this paper, we study conflicts between apps on Samsung SmartThings, the most popular platform for developing and deploying smart home IoT devices. By collecting and studying 198 official and 69 third-party apps, we found significant app conflicts in 3 categories: (1) close to 60% of app pairs that access the same device, (2) more than 90% of app pairs with physical interactions, and (3) around 11% of app pairs that access the same global variable. Our results suggest that the problem of conflicts between smart home apps is serious and can create potential safety risks. We then developed an automatic conflict detection tool that uses model checking to automatically detect 98% of the conflicts.
- Please find the preprint version of the paper here.
- Please also see this link to download the supporting materials for IoTCheck.
We make no warranties that IoTCheck is free of errors. Please read the paper and the documentation file so that you understand what the tool is supposed to do.
Please feel free to contact us for more information. Bug reports are welcome, and we are happy to hear from our users.
Copyright © 2020 Regents of the University of California. All rights reserved.