Download PDFOpen PDF in browser

CodeArena: Inspecting and Improving Code Quality Metrics in Java using Minecraft

EasyChair Preprint 734

3 pagesDate: January 18, 2019

Abstract

Technical debt causes the cost of maintaining a codebase to rise with it, resulting in more time spend on implementing changes later. There are several factors that increase or decrease the amount of technical debt present in a codebase, such as code duplication or high code complexity. There are various tools available that help tackling these factors. These tools vary from informing about the current state of the code to tools that help with the refactoring of code. However, most of these tools do not assist the developer in understanding the causes of factors that influence maintainability. The field of software maintenance and code quality is therefore difficult to make concrete for programmers.

To make programmers aware of harmful coding practices and how they can improve their code, we propose CodeArena. CodeArena is an extension to the popular 3D sandbox game called Minecraft. It allows developers to experience the quality of their code and gain progressive insight in the causes of hard-to-maintain code. This tool translates features of a codebase that are considered harmful to monsters in Minecraft such as code complexity and duplication, which can then be "fought" to improve the codebase. Fighting the monsters will trace the user back to the source code. If the developer succeeds in solving the issue, the monster will die and the developer will be rewarded in-game. This way, the developer can gradually improve the quality of the code, while learning about code quality in an engaging way.

Using our approach, developers can use Minecraft to interact with their code while gaining insight in the quality of the code, and immediately improve it while learning. Our tool is not validated for effectiveness, but is an example of an approach that can be taken to educate new developers, and could lead to new methods and approaches.

Keyphrases: Education, Gamification, Maintainability, Minecraft, code quality, metrics, refactoring, technical debt

BibTeX entry
BibTeX does not have the right entry for preprints. This is a hack for producing the correct reference:
@booklet{EasyChair:734,
  author    = {Simon Baars and Sander Meester},
  title     = {CodeArena: Inspecting and Improving Code Quality Metrics in Java using Minecraft},
  howpublished = {EasyChair Preprint 734},
  year      = {EasyChair, 2019}}
Download PDFOpen PDF in browser