Competitive Debugging
Toward Contests Promoting Debugging as a Skill
Patrick Rein
Hasso Plattner Institute
University of Potsdam
Potsdam, Germany
patrick.rein@hpi.uni-potsdam.de
Tom Beckmann
Hasso Plattner Institute
University of Potsdam
Potsdam, Germany
tom.beckmann@hpi.uni-potsdam.de
Leonard Geier
Hasso Plattner Institute
University of Potsdam
Potsdam, Germany
leonard.geier@hpi.uni-potsdam.de
Toni Mattis
Hasso Plattner Institute
University of Potsdam
Potsdam, Germany
toni.matis@hpi.uni-potsdam.de
Robert Hirschfeld
Hasso Plattner Institute
University of Potsdam
Potsdam, Germany
robert.hirschfeld@uni-potsdam.de
Abstract
Debugging is an essential part of software development. Nu-
merous tools and techniques to improve debugging have
been proposed in research or developed in the industry. How-
ever, only a few of those see widespread use, and debugging
only rarely is a primary teaching subject.
To promote debugging as a distinct skill, we propose Com-
petitive Debugging, where participants compete on who can
repair a failure the fastest or the most comprehensively. We
further propose a format for debugging contests aimed at
attracting and engaging participants to motivate them to
improve their debugging skills. In our proposed format par-
ticipants simultaneously work on the same failure or observe
fellow participants during their debugging activity. To eval-
uate the format, we ran two pilots and one main event. We
found that the format prompted participants to refect on
their debugging process, that the format allowed them to
compare their debugging approaches to others through post-
round discussions on their various approaches, and that the
format was enjoyable and engaging for all participants. We
present our format of a debugging contest, an evaluation of
the trial runs we performed, and give guidance for other peo-
ple who consider hosting a Competitive Debugging event.
Ultimately, we aim to provide developers with opportu-
nities to improve their debugging skills. Our observations
indicate that Competitive Debugging can provide such op-
portunities to train debugging techniques and learn new
tools.
Onward! ’22, December 8ś10, 2022, Auckland, New Zealand
© 2022 Copyright held by the owner/author(s).
ACM ISBN 978-1-4503-9909-8/22/12.
htps://doi.org/10.1145/3563835.3567665
CCS Concepts: • Social and professional topics → Com-
puting education; • Software and its engineering → Soft-
ware maintenance tools.
Keywords: debugging, competitive debugging, competition,
contest, teaching, training
ACM Reference Format:
Patrick Rein, Tom Beckmann, Leonard Geier, Toni Mattis, and Robert
Hirschfeld. 2022. Competitive Debugging: Toward Contests Promot-
ing Debugging as a Skill. In Proceedings of the 2022 ACM SIGPLAN
International Symposium on New Ideas, New Paradigms, and Refec-
tions on Programming and Software (Onward! ’22), December 8ś10,
2022, Auckland, New Zealand. ACM, New York, NY, USA, 13 pages.
htps://doi.org/10.1145/3563835.3567665
1 Introduction
Programmers spend considerable time debugging the pro-
grams they are working on. Depending on the study, debug-
ging takes up 13 % to 40 % percent of programmers’ software
development time [2, 23][28, p. 8-2]. Correspondingly, to
improve debugging, the research communities on program-
ming languages and software engineering have developed
numerous debugging strategies and tools, such as general-
ized backward reasoning [33], time-travel debuggers [17, 24],
and automatic debugging tools [32].
However, most programmers use few of these tools and
techniques in practice, although they would beneft from
them [8, 23]. Programmers either do not know about ad-
vanced tools [23] or do not know how to set them up and
make efcient use of them [30]. The reason for this mis-
match may be a lack of education and training on debug-
ging [2, 22, 23].
At the same time, researchers also found that debugging
skills can be taught [19]. Numerous studies have shown
that when students learn and train debugging skills, they
employ systematic debugging techniques more often and
become more productive at debugging [19, 21]. Neverthe-
less, debugging seems to be seldom taught extensively and
This work is licensed under a Creative Commons Attribution 4.0 Interna-
tional License.
172