Date Thesis Awarded
Honors Thesis -- Open Access
Bachelors of Science (BS)
Routines are trigger-action programs that user create when automating their home. While routine itself offers a wide variety of utilities with a simple conditional format: if trigger then action, misconfigured or conflicting routines can be potentially dangerous. In order to fully analyze home automation, we should not only be required to examine IoT apps, which are routine created by third-party developers, but should also analyze routines from users’ perspective, also known as user driven routine. However, a direct analysis of user driven routines is non-trivial if routines are expressed in natural language, i.e., without any constraints on what the user can express. In this paper, we propose an approach that utilize Natural Language Processing (NLP) to automatically transform user driven routines expressed in natural language into intermediate representation, which can later be automatically analyzed. We evaluate this approach with a dataset of 250 user driven routines from a concurrent work. Specifically, we extracted device names (i.e., Light Bulb), device capabilities (i.e., switch), and device variables (i.e., on or off) from user driven routines. This approach produced an accuracy of 80.64% in one of the intermediate representations transformation. These results demonstrated that our approach can efficiently help identifying key device properties from natural user driven routines. Furthermore, we separately analyze our intermediate representations to provide additional insights on the characteristic and composition of routines from the end-users’ perspective. Finally, we describe some challenges to this approach and propose several potential improvements for future work.
Tang, Ruhao, "Leveraging NLP to Enable Analysis of User Driven Routines" (2019). Undergraduate Honors Theses. William & Mary. Paper 1294.