skip to main content
10.1145/2556288.2557409acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
research-article

Addressing misconceptions about code with always-on programming visualizations

Authors Info & Claims
Published:26 April 2014Publication History

ABSTRACT

We present Theseus, an IDE extension that visualizes run-time behavior within a JavaScript code editor. By displaying real-time information about how code actually behaves during execution, Theseus proactively addresses misconceptions by drawing attention to similarities and differences between the programmer's idea of what code does and what it actually does. To understand how programmers would respond to this kind of an always-on visualization, we ran a lab study with graduate students, and interviewed 9 professional programmers who were asked to use Theseus in their day-to-day work. We found that users quickly adopted strategies that are unique to always-on, real-time visualizations, and used the additional information to guide their navigation through their code.

References

  1. Burg, B., Bailey, R., Ko, A. J., and Ernst, M. D. Interactive record/replay for web application debugging. UIST '13, ACM (New York, NY, USA, 2013), 473--484. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Chilton, L., Kim, J., André, P., Cordeiro, F., Landay, J., Weld, D., Dow, S., Miller, R., and Zhang, H. Frenzy: Collaborative Data Organization for Creating Conference Sessions. SIGCHI '14 (2014). Theseus: https://github.com/adobe-research/theseus Fondue: https://github.com/adobe-research/fondue Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Fleming, S. D., Scaffidi, C., Piorkowski, D., Burnett, M., Bellamy, R., Lawrance, J., and Kwan, I. An information foraging theory perspective on tools for debugging, refactoring, and reuse tasks. TOSEM 22, 2 (2013), 14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Gould, J. D. Some psychological evidence on how people debug computer programs. International Journal of Man-Machine Studies 7, 2 (1975), 151--182.Google ScholarGoogle ScholarCross RefCross Ref
  5. Griffiths, D. Scheme Bricks, Sept. 2013. http://www. pawfal.org/dave/index.cgi'Projects/Scheme%20Bricks.Google ScholarGoogle Scholar
  6. Ko, A., Myers, B., and Aung, H. Six learning barriers in end-user programming systems. In VL/HCC (2004), 199--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ko, A. J., and Myers, B. A. Designing the Whyline: A Debugging Interface for Asking Questions about Program Behavior. In SIGCHI '04, vol. 6 (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. LaToza, T. D., and Myers, B. A. Developers Ask Reachability Questions. In Proc. ICSE 2010, vol. 1, ACM Press (New York, New York, USA, 2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. LaToza, T. D., and Myers, B. A. Visualizing Call Graphs. In VL/HCC 2011 (Sept. 2011).Google ScholarGoogle Scholar
  10. Lieberman, H., and Fry, C. Bridging the Gulf Between Code and Behavior in Programming. CHI '95 (1995). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Mankoff, J., Dey, A. K., Hsieh, G., Kientz, J., Lederer, S., and Ames, M. Heuristic evaluation of ambient displays. CHI '03, ACM (2003), 169--176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. McDirmid, S. Usable live programming. SIGPLAN (2013).Google ScholarGoogle Scholar
  13. Meier, M. S., Miller, K. L., and Pazel, D. P. Experiences with Building Distributed Debuggers. In Proc. SIGMETRICS 1996 (1996). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Microsoft. Debug Your App by Recording Code Execution with IntelliTrace. http://msdn.microsoft.com/ en-us/library/vstudio/dd264915.aspx.Google ScholarGoogle Scholar
  15. Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., et al. Scratch: programming for all. Communications of the ACM 52, 11 (2009), 60--67. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Saff, D., and Ernst, M. Reducing wasted development time via continuous testing. In ISSRE '03 (2003), 281--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Schrock, E. Debugging AJAX in Production. ACM Queue (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Sillito, J., Murphy, G. C., and De Volder, K. Questions programmers ask during software evolution tasks. SIGSOFT '06/FSE-14, ACM (2006), 23--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Swift, B., Sorensen, A., Gardner, H., and Hosking, J. Visual code annotations for cyberphysical programming. In 1st International Workshop on Live Programming (LIVE) (2013).Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tanimoto, S. Towards a theory of progressive operators for live visual programming environments. In IEEE Workshop on Visual Languages (1990), 80--85.Google ScholarGoogle ScholarCross RefCross Ref
  21. Victor, B. Learnable Programming. http://worrydream.com/#!/LearnableProgramming, 2012.Google ScholarGoogle Scholar

Index Terms

  1. Addressing misconceptions about code with always-on programming visualizations

    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
      CHI '14: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
      April 2014
      4206 pages
      ISBN:9781450324731
      DOI:10.1145/2556288

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part 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 components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 26 April 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      CHI '14 Paper Acceptance Rate465of2,043submissions,23%Overall Acceptance Rate6,199of26,314submissions,24%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader