BugHint: A Visual Debugger Based on Graph Mining
Author(s) -
Jennifer L. Leopold,
Nathan Eloe,
Patrick Taylor
Publication year - 2018
Publication title -
proceedings
Language(s) - English
Resource type - Conference proceedings
ISSN - 2326-3261
DOI - 10.18293/seke2018-006
Subject(s) - brainstorming , usability , debugger , computer science , usable , software , obstacle , process (computing) , human–computer interaction , software engineering , world wide web , debugging , artificial intelligence , programming language , political science , law
Why doesn’t my code work? Instructors for introductory programming courses frequently are asked that question. Often students understand the problem they are trying to solve well enough to specify a variety of input and output scenarios. However, they lack the ability to identify where the bug is occurring in their code. Mastering the use of a full-feature debugger can be difficult at this stage in their computer science education. But simply providing a hint as to where the problem lies may be sufficient to guide the student to add print statements or do a hand-trace focusing on a certain section of the code. Herein we present a software tool which, given a C++ program, some sample inputs, and respective expected outputs, uses graph mining to identify which lines in the program are most likely the source of a bug. The tool includes a visual display of the control flow graph for each test case, allowing the user to step through the statements executed. Experimental results from a group of CS 1 students show that practice with this method: (1) makes students faster at finding bugs, (2) improves the way students test a program, and (3) improves program comments by students.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom