TechDebt 2019
Sun 26 - Mon 27 May 2019 Montreal, QC, Canada
co-located with ICSE 2019
Mon 27 May 2019 10:12 - 10:18 at Viger - Tool Demos

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, which decrease the maintainability of code. There are different tools available that help to deal with those factors. These tools vary from pure visualisation to tools that help with the actual 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 tangible for programmers.

To make programmers aware of harmful coding practises 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 incremental changes in 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, 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.

The developer can advance between different levels and gain experience points for each metric that has been improved. Each level represents a component in the codebase. The metrics to be improved consist of code duplication, unit complexity, unit size and interface size. Points are also awarded for a decrease in code volume. Points will be subtracted if the code quality is decreased by a certain change.

We believe that this tool is most suitable for novice programmers and educational purposes. It provides a way to get familiar to the field of technical debt and related concepts, and increases understanding by creating a metaphor to a familiar concept.

Paper (TechDebt_Paper.pdf)2.22MiB
Slides (Without Video) (TechDebt.pptx)6.62MiB

Mon 27 May

TechDebt-2019
10:00 - 10:30: TechDebt 2019 - Tool Demos at Viger
TechDebt-201910:00 - 10:06
Demonstration
Boris KontsevoiIntetics Inc. , Serge StepantsovIntetics Inc., COO
TechDebt-201910:06 - 10:12
Demonstration
TechDebt-201910:12 - 10:18
Demonstration
Simon Baars, Sander MeesterUniversity of Amsterdam, Netherlands / Software Improvement Group
Pre-print Media Attached File Attached
TechDebt-201910:18 - 10:24
Demonstration
Vadim ZaytsevRaincode Labs, Belgium, Johan FabryRaincode Labs, Belgium
TechDebt-201910:24 - 10:30
Demonstration
Paul AndersonGrammaTech, Inc