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
Times are displayed in time zone: Eastern Time (US & Canada) change

10:00 - 10:30: Tool DemosTechDebt 2019 at Viger
10:00 - 10:06
TETRA, as a Set of Techniques and Tools for Calculating Technical Debt Principal and Interest
TechDebt 2019
Boris KontsevoiIntetics Inc. , Serge StepantsovIntetics Inc., COO
10:06 - 10:12
Mitigating Technical and Architectural Debt with Sonargraph
TechDebt 2019
10:12 - 10:18
CodeArena: Inspecting and Improving Code Quality Metrics in Java Using Minecraft
TechDebt 2019
Simon Baars, Sander MeesterUniversity of Amsterdam, Netherlands / Software Improvement Group
Pre-print Media Attached File Attached
10:18 - 10:24
Fourth-Generation Languages Are Technical Debt
TechDebt 2019
Vadim ZaytsevRaincode Labs, Belgium, Johan FabryRaincode Labs, Belgium
10:24 - 10:30
Sarif-Enabled Tooling to Encourage Gradual Technical Debt Reduction
TechDebt 2019
Paul AndersonGrammaTech, Inc