Understanding Trigger-Action Programs Through Novel Visualizations of Program Differences

Trigger-action programming (if-this-then-that rules) empowers non-technical users to automate services and smart devices. As a user’s set of trigger-action programs evolves, the user must reason about behavior differences between similar programs, such as between an original program and several modification candidates, to select programs that meet their goals. To facilitate this process, we co-designed user interfaces and underlying algorithms to highlight differences between trigger-action programs. Our novel approaches leverage formal methods to efficiently identify and visualize differences in program outcomes or abstract properties. We also implemented a traditional interface that shows only syntax differences in the rules themselves. In a between-subjects online experiment with 107 participants, the novel interfaces better enabled participants to select trigger-action programs matching intended goals in complex, yet realistic, situations that proved very difficult when using traditional interfaces showing syntax differences.

[1]  Marco D. Santambrogio,et al.  Ruleset Minimization in Multi-tenant Smart Buildings , 2016, 2016 IEEE Intl Conference on Computational Science and Engineering (CSE) and IEEE Intl Conference on Embedded and Ubiquitous Computing (EUC) and 15th Intl Symposium on Distributed Computing and Applications for Business Engineering (DCABES).

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

[3]  Sumit Gulwani,et al.  How Can Automatic Feedback Help Students Construct Automata? , 2015, ACM Trans. Comput. Hum. Interact..

[4]  Philip J. Guo,et al.  OverCode: visualizing variation in student solutions to programming problems at scale , 2014, ACM Trans. Comput. Hum. Interact..

[5]  Sumit Gulwani,et al.  Automated Grading of DFA Constructions , 2013, IJCAI.

[6]  Volker Wulf,et al.  What Happened in my Home?: An End-User Development Approach for Smart Home Data Visualization , 2017, CHI.

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

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

[9]  Atul Prakash,et al.  IFTTT vs. Zapier: A Comparative Study of Trigger-Action Programming Frameworks , 2017, ArXiv.

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

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

[12]  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).

[13]  Stefan Palan,et al.  Prolific.ac—A subject pool for online experiments , 2017 .

[14]  Franziska Roesner,et al.  Analysis of the Susceptibility of Smart Home Programming Interfaces to End User Error , 2019, 2019 IEEE Security and Privacy Workshops (SPW).

[15]  Ying Zou,et al.  Spotting working code examples , 2014, ICSE.

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

[17]  R. Holmes,et al.  Using structural context to recommend source code examples , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

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

[20]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[21]  Fabio Paternò,et al.  Supporting end-user debugging of trigger-action rules for IoT applications , 2019, Int. J. Hum. Comput. Stud..

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

[23]  Andy R. Terrel,et al.  SymPy: Symbolic computing in Python , 2017, PeerJ Prepr..

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

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

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

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

[28]  David Kaufer,et al.  Flexible Diff-ing in a collaborative writing system , 1992, CSCW '92.

[29]  A. Acquisti,et al.  Beyond the Turk: Alternative Platforms for Crowdsourcing Behavioral Research , 2016 .

[30]  KermekDragutin,et al.  Source-code Similarity Detection and Detection Tools Used in Academia , 2019 .

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

[32]  Gang Zhao,et al.  DeepSim: deep learning code functional similarity , 2018, ESEC/SIGSOFT FSE.

[33]  Björn Hartmann,et al.  TraceDiff: Debugging unexpected code behavior using trace divergences , 2017, 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

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

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

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

[37]  Edward J. McCluskey,et al.  Logic design principles - with emphasis on testable semicustom circuits , 1986, Prentice Hall series in computer engineering.

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

[39]  Gregg Rothermel,et al.  What happened to my application? Helping end users comprehend evolution through variation management , 2018, Inf. Softw. Technol..