RoboBUG: A Debugging Game

RoboBUG demo

Project Members:

Description:

Debugging is a challenging task that can present a great deal of confusion and frustration to novice programmers. In general, Software Engineering and Computer Science education does not sufficiently address the challenges that students face when identifying bugs in their programs. To help students learn effective debugging techniques and to provide students a more enjoyable and motivating experience, we have designed the RoboBUG game. RoboBUG is a serious game that can be customized to with different game levels and programming language examples.

CONTROLS

  • Arrow Keys – Movement
  • Left Control – Throw Active Tool
  • Tab – Change Active Tool

LEVELS
The standard RoboBUG game is composed of five different levels, each of which requires the player to use a different debugging technique with C++ example source code. The game is extendable and new levels with source code written in different languages can be specified in XML.

TOOLS
The player has access to five debugging tools that are used at different points in the game.

Bug Catcher ToolBugcatcher
In most levels, the bugcatcher tool is used when the player has determined the location of the bug. Throwing the bugcatcher at a bug kills it and allows the player to proceed to the next level.

 

Activator ToolActivator
The activator is used to toggle certain aspects of a level. For example, in the third level it toggles print statements.

 

Activator ToolCommenter
The commenter is used to comment/uncomment blocks of source code.

 

 

Break Pointer ToolBreakpointer
The breakpointer is used to toggle breakpoints that are used in the debugger system.

 

Warper ToolWarper
The warper allows the player to leap from function to function and examine different regions of code. For example, in the fourth level, it allows the player to observe the code that has been commented out and identified as the faulty region.

POINTS
Players are awarded points based on their efficiency at completing each level. Points are awarded at the end of a level based on how quickly the level was completed. Players lose points every time they throw a bugcatcher tool at a line of code that does not have a bug.

MEDIA LICENSING
All artwork and sounds used in RoboBUG are open sourced and licensed under a Creative Commons Attribution-ShareAlike3.0 Unported License.

Publications:

Theses:

Posters and Demos:

  • Michael A. Miljanovic, Jeremy S. Bradbury. “RoboBUG: Learning Debugging with Games”, In Technology Showcase at the 24th Annual International Conference on Computer Science and Software Engineering (CASCON 2014), Markham, Ontario, Canada, Nov. 2014.

One thought on “RoboBUG: A Debugging Game

Comments are closed.