skip to main content
10.1145/3242587.3242668acmconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
research-article
Open Access

WiFröst: Bridging the Information Gap for Debugging of Networked Embedded Systems

Authors Info & Claims
Published:11 October 2018Publication History

ABSTRACT

The rise in prevalence of Internet of Things (IoT) technologies has encouraged more people to prototype and build custom internet connected devices based on low power microcontrollers. While well-developed tools exist for debugging network communication for desktop and web applications, it can be difficult for developers of networked embedded systems to figure out why their network code is failing due to the limited output affordances of embedded devices. This paper presents WiFröst, a new approach for debugging these systems using instrumentation that spans from the device itself, to its communication API, to the wireless router and back-end server. WiFröst automatically collects this data, displays it in a web-based visualization, and highlights likely issues with an extensible suite of checks based on analysis of recorded execution traces.

Skip Supplemental Material Section

Supplemental Material

ufp1372.mp4

mp4

35.4 MB

ufp1372p.mp4

mp4

5.3 MB

p447-mcgrath.mp4

mp4

238.6 MB

References

  1. Arduino -- wifi. https://www.arduino.cc/en/Reference/WiFi. Accessed 04-04--2018.Google ScholarGoogle Scholar
  2. Available memory -- arduino playground. https://playground.arduino.cc/Code/AvailableMemory. Accessed 04-04--2018.Google ScholarGoogle Scholar
  3. Ntp: The network time protocol. http://www.ntp.org/index.html. Accessed 04-04--2018.Google ScholarGoogle Scholar
  4. Becker, R. A., and Cleveland, W. S. Brushing scatterplots. Technometrics 29, 2 (1987), 127--142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bederson, B. B., Meyer, J., and Good, L. Jazz: an extensible zoomable user interface graphics toolkit in java. In Proceedings of the 13th annual ACM symposium on User interface software and technology, ACM (2000), 171--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Booth, T., Stumpf, S., Bird, J., and Jones, S. Crossed wires: Investigating the problems of end-user developers in a physical computing task. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems, ACM (2016), 3485--3497. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Burg, B., Bailey, R., Ko, A. J., and Ernst, M. D. Interactive record/replay for web application debugging. In Proceedings of the 26th annual ACM symposium on User interface software and technology, ACM (2013), 473--484. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chanda, A., Cox, A. L., and Zwaenepoel, W. Whodunit: Transactional profiling for multi-tier applications. In ACM SIGOPS Operating Systems Review, vol. 41, ACM (2007), 17--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Chang, K. S.-P., and Myers, B. A. Gneiss: spreadsheet programming using structured web service data. Journal of Visual Languages & Computing, http://www. sciencedirect. com/science/article/pii/S1045926X16300994 (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Chen, M. Y., Kiciman, E., Fratkin, E., Fox, A., and Brewer, E. Pinpoint: Problem determination in large, dynamic internet services. In Dependable Systems and Networks, 2002. DSN 2002. Proceedings. International Conference on, IEEE (2002), 595--604. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chiang, H., Hong, J., Kiningham, K., Riliskis, L., Levis, P., and Horowitz, M. Tethys--an energy harvesting networked water flow sensor. In Proceedings of the Third International Conference on Internet-of-Things Design and Implementation, ACM (2018).Google ScholarGoogle Scholar
  12. Drew, D., Newcomb, J. L., McGrath, W., Maksimovic, F., Mellis, D., and Hartmann, B. The toastboard: Ubiquitous instrumentation and automated checking of breadboarded circuits. In Proceedings of the 29th Annual Symposium on User Interface Software and Technology, ACM (2016), 677--686. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Fonseca, R., Dutta, P., Levis, P., and Stoica, I. Quanto: Tracking energy in networked embedded systems. In OSDI, vol. 8 (2008), 323--338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Fonseca, R., Porter, G., Katz, R. H., Shenker, S., and Stoica, I. X-trace: A pervasive network tracing framework. In Proceedings of the 4th USENIX conference on Networked systems design & implementation, USENIX Association (2007), 20--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Gay, D., Levis, P., Von Behren, R., Welsh, M., Brewer, E., and Culler, D. The nesc language: A holistic approach to networked embedded systems. Acm Sigplan Notices 49, 4 (2014), 41--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gugerty, L., and Olson, G. Debugging by skilled and novice programmers. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI '86, ACM (New York, NY, USA, 1986), 171--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Handigol, N., Heller, B., Jeyakumar, V., Maziéres, D., and McKeown, N. Where is the debugger for my software-defined network? In Proceedings of the first workshop on Hot topics in software defined networks, ACM (2012), 55--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Handigol, N., Heller, B., Jeyakumar, V., Mazières, D., and McKeown, N. I know what your packet did last hop: Using packet histories to troubleshoot networks. In NSDI, vol. 14 (2014), 71--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hartmann, B., Klemmer, S. R., Bernstein, M., Abdulla, L., Burr, B., Robinson-Mosher, A., and Gee, J. Reflective physical prototyping through integrated design, test, and analysis. In Proceedings of the 19th annual ACM symposium on User interface software and technology, ACM (2006), 299--308. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Hibschman, J., and Zhang, H. Unravel: Rapid web application reverse engineering via interaction recording, source tracing, and library detection. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology, ACM (2015), 270--279. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Industries, A. Adafruit io. https://io.adafruit.com/, 2018.Google ScholarGoogle Scholar
  22. Kato, J., McDirmid, S., and Cao, X. Dejavu: integrated support for developing interactive camera-based programs. In Proceedings of the 25th annual ACM symposium on User interface software and technology, ACM (2012), 189--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Kato, Y. Splish: a visual programming environment for arduino to accelerate physical computing experiences. In Creating Connecting and Collaborating through Computing (C5), 2010 Eighth International Conference on, IEEE (2010), 3--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Ko, A. J., and Myers, B. A. Debugging reinvented: Asking and answering why and why not questions about program behavior. In Proceedings of the 30th International Conference on Software Engineering, ICSE '08, ACM (New York, NY, USA, 2008), 301--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Ko, A. J., and Myers, B. A. Finding causes of program output with the java whyline. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM (2009), 1569--1578. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Lieber, T., Brandt, J. R., and Miller, R. C. Addressing misconceptions about code with always-on programming visualizations. In Proceedings of the 32nd annual ACM conference on Human factors in computing systems, ACM (2014), 2481--2490. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Marquardt, N., Gross, T., Carpendale, S., and Greenberg, S. Revealing the invisible: visualizing the location and event flow of distributed physical devices. In Proceedings of the fourth international conference on Tangible, embedded, and embodied interaction, ACM (2010), 41--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. McGrath, W., Drew, D., Warner, J., Kazemitabaar, M., Karchemsky, M., Mellis, D., and Hartmann, B. Bifröst: Visualizing and checking behavior of embedded systems across hardware and software. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology, ACM (2017), 299--310. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. McGrath, W., Etemadi, M., Roy, S., and Hartmann, B. Fabryq: Using phones as gateways to prototype internet of things applications using web scripting. In Proceedings of the 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, ACM (2015), 164--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Mellis, D., Banzi, M., Cuartielles, D., and Igoe, T. Arduino: An open electronic prototyping platform. In Proc. CHI, vol. 2007 (2007).Google ScholarGoogle Scholar
  31. Mellis, D. A., Buechley, L., Resnick, M., and Hartmann, B. Engaging amateurs in the design, fabrication, and assembly of electronic devices. In Proceedings of the 2016 ACM Conference on Designing Interactive Systems, ACM (2016), 1270--1281. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Parr, T. J., and Quong, R. W. Antlr: A predicated- LL(k) parser generator. Software - Practice and Experience 25, 7 (1995), 789--810. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Particle. Particle cloud. https://www.particle.io/, 2018.Google ScholarGoogle Scholar
  34. Reynolds, P., Killian, C. E., Wiener, J. L., Mogul, J. C., Shah, M. A., and Vahdat, A. Pip: Detecting the unexpected in distributed systems. In NSDI, vol. 6 (2006), 9--9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Sambasivan, R. R., Zheng, A. X., De Rosa, M., Krevat, E., Whitman, S., Stroucken, M., Wang, W., Xu, L., and Ganger, G. R. Diagnosing performance changes by comparing request flows. In NSDI, vol. 5 (2011), 1--1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Sigelman, B. H., Barroso, L. A., Burrows, M., Stephenson, P., Plakal, M., Beaver, D., Jaspan, S., and Shanbhag, C. Dapper, a large-scale distributed systems tracing infrastructure. Tech. rep., Technical report, Google, Inc, 2010.Google ScholarGoogle Scholar
  37. Strasnick, E., Agrawala, M., and Follmer, S. Scanalog: Interactive design and debugging of analog circuits with programmable hardware. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology, ACM (2017), 321--330. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Wundsam, A., Levin, D., Seetharaman, S., Feldmann, A., et al. Ofrewind: Enabling record and replay troubleshooting for networks. In USENIX Annual Technical Conference (2011), 15--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Zimmermann, H. Osi reference model--the iso model of architecture for open systems interconnection. IEEE Transactions on communications 28, 4 (1980), 425--432.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. WiFröst: Bridging the Information Gap for Debugging of Networked Embedded Systems

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        UIST '18: Proceedings of the 31st Annual ACM Symposium on User Interface Software and Technology
        October 2018
        1016 pages
        ISBN:9781450359481
        DOI:10.1145/3242587

        Copyright © 2018 Owner/Author

        Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 11 October 2018

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        UIST '18 Paper Acceptance Rate80of375submissions,21%Overall Acceptance Rate842of3,967submissions,21%

        Upcoming Conference

        UIST '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader