End User Development (EUD) is a promising approach for empowering users to program their Internet of Things (IoT) objects, i.e., devices and web applications. Typically, people can customize their devices and web applications thanks to services like IFTTT. Such services allow non-programmers to compose trigger-action rules like “if someone is at the door, show me a notification on my smartphone”. Despite apparent simplicity, such services fall short in different areas, and are too complex for non-programmers. Errors in trigger-action rules, moreover, can lead to unpredictable behaviors and security issues, e.g., infinite loops, inconsistencies, and redundancies. For this reason, there is a need of assisting users in foreseeing the behavior of their rules and identifying any potential problem.

The goal of the thesis was to define and evaluate, directly with end users, new visual languages and graphical interfaces for end-user debugging of IoT-based environments.  Different visual languages and approaches (jigsaw-based, form-based, etc.), in fact, may be adopted to easily recommend, explain, and avoid the most frequent "bugs" present in trigger-action rules for the IoT, i.e., loops, inconsistencies, and redundancies.

In particular, the thesis investigated the problem thorugh a literature analisys and defined a web-based user interface based on the jigsaw metaphor fot the composition and the debug of trigger-action rules. Such a user interface was, then, evaluated with success through a preliminary user study (6 participants without programming knowledge).

Below, you can find a couple of screenshot of the developed end-user debugging tool.

Composition interface of the developed toolFig.1: Trigger-Action rule composition

Debug interface of the developed toolFig. 2: Debugging an identified problem


Alessia Carosella

Thesis Details

Fulvio Corno, Luigi De Russis, Alberto Monge Roffarello
Master Degree in Computer Engineering