Your browser does not support JavaScript!

access icon free SmartVisual: a visualisation tool for SmartThings IoT Apps using static analysis

SmartThings is one of the most widely used smart home platforms for the internet of things (IoT). SmartApps are IoT applications on the SmartThings platform that enables automation of home devices. SmartApps are event-driven; inputs are received from device events, and outputs are issued to control devices. Understanding the behaviour of IoT applications is a challenge because the inputs and outputs are rarely visible. To tackle the challenge, the proposed approach is to visualise IoT applications as a set of IoT services. The authors propose an event-flow-based visualisation method where a flow from an event to action is viewed as an IoT service. The authors implement a tool called SmartVisual that performs a static analysis on SmartApps to generate a diagram of event flows. The tool also provides a tree model of the static structure of SmartApps and software metrics relevant to the event-driven nature. The tool was applied to 64 SmartApp samples provided by SmartThings. Each SmartApp had four event flows on average, although the most complex SmartApp had 58 event flows, and two inputs and two outputs, and the average length of the event flows was 1.43 methods.


    1. 1)
      • 12. Nguyen, D.T., Song, C., Qian, Z., et al: ‘IoTSan: fortifying the safety of Iot systems’. Proc. 14th Int. Conf. on Emerging Networking EXperiments and Technologies (CoNEXT 2018), Heraklion, Greece, December 2018, pp. 191203.
    2. 2)
      • 8. Newcomb, J.L., Chandra, S., Jeannin, J.-B., et al: ‘IOTA: a calculus for internet of things automation’. Proc. ACM SIGPLAN Int. Symp. On New Ideas, New paradigms, and Reflections on Programming and Software (Onward! 2017), Vancouver, BV, Canada, October 2017, pp. 119133.
    3. 3)
      • 9. Bak, N.Y., Chang, B.M., Choi, K.: ‘Smartblock: a visual programming environment for SmartThings’. Proc. 2018 IEEE 42nd Annual Computer Software and Applications Conf. (COMPSAC 2018), Tokyo, Japan, July 2018, pp. 3237.
    4. 4)
      • 10. Bak, N.Y., Chang, B.M., Choi, K.: ‘Visualization tool for page structure of SmartThings applications’. Proc. Korea Software Congress, Busan, Korea, December 2017, pp. 410412.
    5. 5)
      • 5. ‘Groovy Homepage’. Available at, accessed 31 January 2020.
    6. 6)
      • 15. Tian, Y., Zhang, N., Lin, Y.-H., et al: ‘Smartauth: user-centered authorization for the internet of things’. Proc. sixth USENIX Security Symp. (USENIX Security 17), Vancouver, BC, Canada, August 2017, pp. 361378.
    7. 7)
      • 1. Fernandes, E., Jung, J., Prakash, A.: ‘Security analysis of emerging smart home applications’. Proc. IEEE Symp. On Security and Privacy 2016, San Jose, CA, USA, May 2016, pp. 636654.
    8. 8)
      • 11. Jost, B., Budde, R., Leimbach, T.: ‘Graphical programming environments for educational robots: open roberta – yet another one?’. Proc. IEEE Int. Symp. On Multimedia, Taichung, Taiwan, December 2014, pp. 381386.
    9. 9)
      • 7. Ceilk, Z.B., McDaniel, P., Tan, G.: ‘SOTERIA: automated IoT safety and security analysis’. Proc. 2018 USENIX Annual Technical Conf. (USENIX ATC ‘18), Boston, MA, USA, July 2018, pp. 16871704.
    10. 10)
      • 3. ‘SmartThings Community – SmartApps Open Source Software’. Available at, accessed 31 January 2020.
    11. 11)
      • 14. Jia, Y.J., Chen, Q.A., Wang, S., et al: ‘contexiot: towards providing contextual integrity to appified IoT platforms’. Proc. 21st Network and Distributed Security Symp. (NDSS2017), San Diego, CA, USA, February 2017, pp. 115.
    12. 12)
      • 16. Rahmati, A., Fernandes, E., Eykholt, K.: ‘Tyche: a risk-based permission model for smart homes’. Proc. IEEE Cybersecurity Development Conf., Cambridge, MA, USA, September 2018, pp. 18.
    13. 13)
      • 2. ‘SmartThings Developer Documentation’. Available at, accessed 31 January 2020.
    14. 14)
      • 4. Saha, M.K.: ‘A code structure visualisation tool for Groovy’. MS thesis, University of Houston, 2013.
    15. 15)
      • 13. Fernandes, E., Rahmati, A., Jung, J., et al: ‘Security implications of permission models in smart-home application frameworks’, IEEE Secur. Priv., 2017, 15, (2), pp. 2430.
    16. 16)
      • 6. Ceilk, Z.B., Babun, L., Sikder, A.K., et al: ‘Sensitive information tracking in commodity IoT’. Proc. 27th USENIX Conf. On Security Symp., Baltimore, MD, USA, August 2018, pp. 16871704.

Related content

This is a required field
Please enter a valid email address