[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2556288.2557409acmconferencesArticle/Chapter ViewAbstractPublication PageschiConference Proceedingsconference-collections
research-article

Addressing misconceptions about code with always-on programming visualizations

Published: 26 April 2014 Publication 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.
[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
[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.
[4]
Gould, J. D. Some psychological evidence on how people debug computer programs. International Journal of Man-Machine Studies 7, 2 (1975), 151--182.
[5]
Griffiths, D. Scheme Bricks, Sept. 2013. http://www. pawfal.org/dave/index.cgi'Projects/Scheme%20Bricks.
[6]
Ko, A., Myers, B., and Aung, H. Six learning barriers in end-user programming systems. In VL/HCC (2004), 199--206.
[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).
[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).
[9]
LaToza, T. D., and Myers, B. A. Visualizing Call Graphs. In VL/HCC 2011 (Sept. 2011).
[10]
Lieberman, H., and Fry, C. Bridging the Gulf Between Code and Behavior in Programming. CHI '95 (1995).
[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.
[12]
McDirmid, S. Usable live programming. SIGPLAN (2013).
[13]
Meier, M. S., Miller, K. L., and Pazel, D. P. Experiences with Building Distributed Debuggers. In Proc. SIGMETRICS 1996 (1996).
[14]
Microsoft. Debug Your App by Recording Code Execution with IntelliTrace. http://msdn.microsoft.com/ en-us/library/vstudio/dd264915.aspx.
[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.
[16]
Saff, D., and Ernst, M. Reducing wasted development time via continuous testing. In ISSRE '03 (2003), 281--292.
[17]
Schrock, E. Debugging AJAX in Production. ACM Queue (2009).
[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.
[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).
[20]
Tanimoto, S. Towards a theory of progressive operators for live visual programming environments. In IEEE Workshop on Visual Languages (1990), 80--85.
[21]
Victor, B. Learnable Programming. http://worrydream.com/#!/LearnableProgramming, 2012.

Cited By

View all
  • (2024)The Hidden Program State Hurts EveryoneProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3689813(266-274)Online publication date: 17-Oct-2024
  • (2024)Inline Visualization and Manipulation of Real-Time Hardware Log for Supporting Debugging of Embedded ProgramsProceedings of the ACM on Human-Computer Interaction10.1145/36602508:EICS(1-26)Online publication date: 17-Jun-2024
  • (2024)CFlow: Supporting Semantic Flow Analysis of Students' Code in Programming Problems at ScaleProceedings of the Eleventh ACM Conference on Learning @ Scale10.1145/3657604.3662025(188-199)Online publication date: 9-Jul-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 April 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. code understanding
  2. debugging
  3. programming

Qualifiers

  • Research-article

Conference

CHI '14
Sponsor:
CHI '14: CHI Conference on Human Factors in Computing Systems
April 26 - May 1, 2014
Ontario, Toronto, Canada

Acceptance Rates

CHI '14 Paper Acceptance Rate 465 of 2,043 submissions, 23%;
Overall Acceptance Rate 6,199 of 26,314 submissions, 24%

Upcoming Conference

CHI 2025
ACM CHI Conference on Human Factors in Computing Systems
April 26 - May 1, 2025
Yokohama , Japan

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)122
  • Downloads (Last 6 weeks)7
Reflects downloads up to 13 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)The Hidden Program State Hurts EveryoneProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3689813(266-274)Online publication date: 17-Oct-2024
  • (2024)Inline Visualization and Manipulation of Real-Time Hardware Log for Supporting Debugging of Embedded ProgramsProceedings of the ACM on Human-Computer Interaction10.1145/36602508:EICS(1-26)Online publication date: 17-Jun-2024
  • (2024)CFlow: Supporting Semantic Flow Analysis of Students' Code in Programming Problems at ScaleProceedings of the Eleventh ACM Conference on Learning @ Scale10.1145/3657604.3662025(188-199)Online publication date: 9-Jul-2024
  • (2024)Understanding and Supporting Debugging Workflows in CADProceedings of the 37th Annual ACM Symposium on User Interface Software and Technology10.1145/3654777.3676353(1-14)Online publication date: 13-Oct-2024
  • (2024)An Electroencephalography Study on Cognitive Load in Visual and Textual ProgrammingProceedings of the 2024 ACM Conference on International Computing Education Research - Volume 110.1145/3632620.3671124(280-292)Online publication date: 12-Aug-2024
  • (2024)MµSE: Supporting Exploration of Software-Hardware Interactions Through ExamplesProceedings of the 2024 CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642186(1-16)Online publication date: 11-May-2024
  • (2024)UNFOLD: Enabling Live Programming for Debugging GUI Applications2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00041(306-316)Online publication date: 2-Sep-2024
  • (2024)EasyView: Bringing Performance Profiles into Integrated Development EnvironmentsProceedings of the 2024 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO57630.2024.10444840(386-398)Online publication date: 2-Mar-2024
  • (2023)Odyssey: An Interactive Workbench for Expert-Driven Floating-Point Expression RewritingProceedings of the 36th Annual ACM Symposium on User Interface Software and Technology10.1145/3586183.3606819(1-15)Online publication date: 29-Oct-2023
  • (2023)Log-it: Supporting Programming with Interactive, Contextual, Structured, and Visual LogsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581403(1-16)Online publication date: 19-Apr-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media