Visualizing Differences to Improve End-User Understanding of Trigger-Action Programs

Trigger-action programming lets end-users automate and connect IoT devices and online services through if-this-then-that rules. Early research demonstrated this paradigm's usability, but more recent work has highlighted complexities that arise in realistic scenarios. As users manually modify or debug their programs, or as they use recently proposed automated tools to the same end, they may struggle to understand how modifying a trigger-action program changes its ultimate behavior. To aid in this understanding, we prototype user interfaces that visualize differences between trigger-action programs in syntax, behavior, and properties.

[1]  W. Keith Edwards,et al.  Intelligibility and Accountability: Human Considerations in Context-Aware Systems , 2001, Hum. Comput. Interact..

[2]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[3]  Ian T. Foster,et al.  Ripple: Home Automation for Research Data Management , 2017, 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW).

[4]  Blase Ur,et al.  When Smart Devices Are Stupid: Negative Experiences Using Home Smart Devices , 2019, 2019 IEEE Security and Privacy Workshops (SPW).

[5]  Raymond J. Mooney,et al.  Language to Code: Learning Semantic Parsers for If-This-Then-That Recipes , 2015, ACL.

[6]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[7]  Zhao Li,et al.  Systematically Debugging IoT Control System Correctness for Building Automation , 2016, BuildSys@SenSys.

[8]  Stephan Diehl,et al.  Software Visualization - Visualizing the Structure, Behaviour, and Evolution of Software , 2007 .

[9]  Maya Cakmak,et al.  Supporting mental model accuracy in trigger-action programming , 2015, UbiComp.

[10]  Shan Lu,et al.  AutoTap: Synthesizing and Repairing Trigger-Action Programs Using LTL Properties , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[11]  David Kim,et al.  Integrating the Smart Home into the Digital Calendar , 2016, CHI.

[12]  Dongmei Zhang,et al.  Systematically Ensuring the Confidence of Real-Time Home Automation IoT Systems , 2018, ACM Trans. Cyber Phys. Syst..

[13]  Ian T. Foster,et al.  High-Throughput Neuroanatomy and Trigger-Action Programming: A Case Study in Research Automation , 2018, AI-Science@HPDC.

[14]  Dawn Xiaodong Song,et al.  Latent Attention For If-Then Program Synthesis , 2016, NIPS.

[15]  Hsu-Chun Hsiao,et al.  SafeChain: Securing Trigger-Action Programming From Attack Chains , 2019, IEEE Transactions on Information Forensics and Security.

[16]  Fulvio Corno,et al.  Empowering End Users in Debugging Trigger-Action Rules , 2019, CHI.

[17]  Amos Azaria,et al.  InstructableCrowd: Creating IF-THEN Rules for Smartphones via Conversations with the Crowd , 2019, Hum. Comput..

[18]  Ying Zhang,et al.  An empirical characterization of IFTTT: ecosystem, usage, and performance , 2017, Internet Measurement Conference.

[19]  Blase Ur,et al.  How Users Interpret Bugs in Trigger-Action Programming , 2019, CHI.

[20]  Carl A. Gunter,et al.  Charting the Attack Surface of Trigger-Action IoT Platforms , 2019, CCS.

[21]  Stefan Saroiu,et al.  Home automation in the wild: challenges and opportunities , 2011, CHI.

[22]  Elaine M. Huang,et al.  Hacking the Natural Habitat: An In-the-Wild Study of Smart Homes, Their Development, and the People Who Live in Them , 2012, Pervasive.

[23]  Fabio Paternò,et al.  Personalization of Context-Dependent Applications Through Trigger-Action Rules , 2017, ACM Trans. Comput. Hum. Interact..

[24]  Nick Mitchell,et al.  Visualizing the Execution of Java Programs , 2001, Software Visualization.

[25]  Jiyun Lee,et al.  Trigger-Action Programming in the Wild: An Analysis of 200,000 IFTTT Recipes , 2016, CHI.

[26]  Rafael Serra,et al.  The importance of users' actions for the sensation of comfort in buildings , 2006 .

[27]  Fulvio Corno,et al.  My IoT Puzzle: Debugging IF-THEN Rules Through the Jigsaw Metaphor , 2019, IS-EUD.

[28]  Philip J. Guo,et al.  Opportunistic Programming: Writing Code to Prototype, Ideate, and Discover end-us e r soft war e e ngine e ring , 2009 .

[29]  Pamela Zave,et al.  Locked or Not?: Mental Models of IoT Feature Interaction , 2017, CHI.

[30]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[31]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .

[32]  Lujo Bauer,et al.  Some Recipes Can Do More Than Spoil Your Appetite: Analyzing the Security and Privacy Risks of IFTTT Recipes , 2017, WWW.

[33]  Philip J. Guo,et al.  Writing Code to Prototype, Ideate, and Discover , 2009, IEEE Software.

[34]  Blase Ur,et al.  Practical trigger-action programming in the smart home , 2014, CHI.

[35]  Youn-Kyung Lim,et al.  User experience in do-it-yourself-style smart homes , 2015, UbiComp.