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

Experiences Using Heat Maps to Help Students Find Their Bugs: Problems and Solutions

Published: 22 February 2019 Publication History

Abstract

Automated grading systems provide feedback to students in a variety of ways, but usually focus on identifying incorrect program behaviors. Such systems provide notices of test case failures or runtime errors, but without debugging skills, students often become frustrated when they don't know where to start. They know their code has defects, but finding the problem may be beyond their experience, especially for beginners. An additional concern is balancing the need to provide enough direction to be useful, without giving the student so much direction that you effectively give them the answer. This paper presents our experience using heat maps to visually guide student attention to parts of their code that are most likely to contain problems. These visualizations are generated using existing tools that capture execution traces from instructor-written tests to identify which portions of the code are executed during tests that pass, and which portions are executed during tests that fail. Superimposing execution footprints allows statistical identification of locations in the student's code that are most likely to contain faults. This paper describes the results of using this feedback approach to help guide student attention with heat map visualizations over two semesters of CS1 involving over 700 students. Based on this experience, we analyze the utility of the heat maps, describe student perceptions of their helpfulness, and describe the unexpected challenges arising from students attempts to understand and apply this style of feedback. We conclude with concrete solutions proposed to improve how guiding feedback is presented to students.

References

[1]
Rui Abreu, Peter Zoeteweij, Rob Golsteijn, and Arjan J C van Gemund. 2009. A practical evaluation of spectrum-based fault localization . Journal of Systems and Software, Vol. 82, 11 (Nov. 2009), 1780--1792.
[2]
Marzieh Ahmadzadeh, Dave Elliman, and Colin Higgins. 2005. An analysis of patterns of debugging among novice computer science students. In ACM Innovation and Technology in Computer Science Education 2005. ACM, New York, New York, USA, 84--88.
[3]
Thomas Ball and Stephen G Eick. 1996. Software visualization in the large . Computer, Vol. 29, 4 (April 1996), 33--43.
[4]
José Campos, André Riboira, Alexandre Perez, and Rui Abreu. 2012. GZoltar: an eclipse plug-in for testing and debugging. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering . ACM Request Permissions, Essen, Germany, 378--381.
[5]
Mike Y Chen, Emre Kiciman, Eugene Fratkin, Armando Fox, and Eric Brewer. 2002. Pinpoint: problem determination in large, dynamic Internet services. In International Conference on Dependable Systems and Networks. IEEE, 595--604.
[6]
Valentin Dallmeier, Christian Lindig, and Andreas Zeller. 2005. Lightweight Defect Localization for Java. In European Conference on Object-Oriented Programming, A P Black (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 528--550.
[7]
B Du-Boulay. 1988. Some Difficulties of Learning to Program . Studying the Novice Programmer (1988), 286--300.
[8]
Bob Edmison and Stephen H Edwards. 2015. Applying spectrum-based fault localization to generate debugging suggestions for student programmers. In 2015 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW). IEEE, 93--99.
[9]
Stephen H Edwards and Manuel A Pérez-Qui nones. 2008. Web-CAT: automatically grading programming assignments. In ACM annual conference on Innovation and Technology in Computer Science Education 2008 . ACM, 328.
[10]
S C Eick, J L Steffen, and E E Sumner. 1992. Seesoft-a tool for visualizing line oriented software statistics . IEEE Transactions on Software Engineering, Vol. 18, 11 (1992), 957--968.
[11]
Alex Gerdes, Johan Jeuring, and Bastiaan Heeren. 2012. An interactive functional programming tutor. In ACM Innovation and Technology in Computer Science Education 2005. ACM, Haifa, Israel, 250--255.
[12]
T Green and M Petre. 1996. Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework . Journal of Visual Languages and Computing, Vol. 7, 2 (June 1996), 131--174.
[13]
L Gugerty and G Olson. 1986. Debugging by skilled and novice programmers. In ACM SIGCHI Bulletin Proceedings of the SIGCHI conference on Human factors in computing systems 1986 . ACM, New York, New York, USA, 171--174.
[14]
Mary Jean Harrold, Gregg Rothermel, Kent Sayre, Rui Wu, and Liu Yi. 2000. An empirical investigation of the relationship between spectra differences and regression faults . Journal of Software Testing, Verification and Reliability, Vol. 10, 3 (Sept. 2000), 171--194.
[15]
Tom Janssen, Rui Abreu, and Arjan J C van Gemund. 2009. Zoltar: A Toolset for Automatic Fault Localization. In 2009 24th IEEE/ACM International Conference on Automated Software Engineering (ASE) . IEEE, 662--664.
[16]
George H Joblove and Donald Greenberg. 1978. Color spaces for computer graphics. In SIGGRAPH '78 Proceedings of the 5th annual conference on Computer graphics and interactive techniques. ACM, ACM, New York, NY, 20--25.
[17]
James A Jones and Mary Jean Harrold. 2005. Empirical evaluation of the tarantula automatic fault-localization technique. In 20th IEEE/ACM international Conference on Automated Software Engineering . ACM, New York, NY, USA, 273--282.
[18]
Xiaolin Ju, Shujuan Jiang, Xiang Chen, Xingya Wang, Yanmei Zhang, and Heling Cao. 2014. HSFal: Effective fault localization using hybrid spectrum of full slices and execution slices . Journal of Systems and Software, Vol. 90 (April 2014), 3--17.
[19]
Sudhir Mehta and Nem W Schlecht. 1998. Computerized assessment technique for large classes . Journal of Engineering Education 87 (April 1998), 167--172.
[20]
Chris Parnin and Alessandro Orso. 2011. Are automated debugging techniques actually helping programmers?. In International Symposium on Software Testing and Analysis 2011. ACM, Toronto, ON, Canada, 199--209.
[21]
Roy D Pea. 1986. Language-Independent Conceptual textquotedblleftBugstextquotedblright in Novice Programming: . Journal of Educational Computing Research, Vol. 2, 1 (1986), 25--36.
[22]
James G Spohrer and Elliot Soloway. 1986. Analyzing the high frequency bugs in novice programs. In First Workshop on Empirical Studies of Programmers on Empirical Studies of Programmers . Ablex Publishing Corp., Norwood, NJ, USA, 230--251.
[23]
S Uchida, A Monden, H Iida, K Matsumoto, and H Kudo. {n. d.}. A multiple-view analysis model of debugging processes. In 2002 International Symposium on Empirical Software Engineering. IEEE Comput. Soc, 139--147.
[24]
S Wang and P Wu. 2008. The role of feedback and self-efficacy on web-based learning: The social cognitive perspective . Computers & Education, Vol. 51, 4 (Dec. 2008), 1589--1598.
[25]
Leland Wilkinson and Michael Friendly. 2009. The History of the Cluster Heat Map . The American Statistician, Vol. 63, 2 (May 2009), 179--184.

Cited By

View all
  • (2023)A Model of How Students Engineer Test Cases With FeedbackACM Transactions on Computing Education10.1145/362860424:1(1-31)Online publication date: 20-Oct-2023
  • (2023)Optical Character Recognition (OCR)-Based and Gaussian Mixture Modeling-OCR-Based Slide-Level “With-Me-Ness”: Automated Measurement and Feedback of Learners’ Attention State during Video LecturesInternational Journal of Human–Computer Interaction10.1080/10447318.2023.220427240:15(3952-3971)Online publication date: 7-May-2023
  • (2022)FFL: Fine-grained Fault Localization for Student Programs via Syntactic and Semantic Reasoning2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00022(151-162)Online publication date: Oct-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '19: Proceedings of the 50th ACM Technical Symposium on Computer Science Education
February 2019
1364 pages
ISBN:9781450358903
DOI:10.1145/3287324
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: 22 February 2019

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. automated grading
  2. automatic fault localization
  3. debugging
  4. heat map
  5. sfl
  6. spectrum-based fault localization
  7. statistical fault localization
  8. testing
  9. visualization
  10. web-cat

Qualifiers

  • Research-article

Funding Sources

Conference

SIGCSE '19
Sponsor:

Acceptance Rates

SIGCSE '19 Paper Acceptance Rate 169 of 526 submissions, 32%;
Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)A Model of How Students Engineer Test Cases With FeedbackACM Transactions on Computing Education10.1145/362860424:1(1-31)Online publication date: 20-Oct-2023
  • (2023)Optical Character Recognition (OCR)-Based and Gaussian Mixture Modeling-OCR-Based Slide-Level “With-Me-Ness”: Automated Measurement and Feedback of Learners’ Attention State during Video LecturesInternational Journal of Human–Computer Interaction10.1080/10447318.2023.220427240:15(3952-3971)Online publication date: 7-May-2023
  • (2022)FFL: Fine-grained Fault Localization for Student Programs via Syntactic and Semantic Reasoning2022 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME55016.2022.00022(151-162)Online publication date: Oct-2022
  • (2020)A Proposal to Use Gamification Systematically to Nudge Students Toward Productive BehaviorsProceedings of the 20th Koli Calling International Conference on Computing Education Research10.1145/3428029.3428057(1-8)Online publication date: 19-Nov-2020
  • (2020)Turn up the heat!Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training10.1145/3377814.3381707(34-44)Online publication date: 27-Jun-2020

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media