Skip to content

20230703

如果链接失效,请提一个issue.

If any of the links failed, please submit an issue.

One Course 一门课

MIT 6.004 Computation Structures

https://ocw.mit.edu/courses/6-004-computation-structures-spring-2017/pages/syllabus/

One Assignment 一项作业

https://nju-projectn.github.io/ics-pa-gitbook/ics2022/

One Paper 一篇论文

Patrick Rein, Tom Beckmann, Leonard Geier, Toni Mattis, and Robert Hirschfeld. 2022. Competitive Debugging: Toward Contests Promoting Debugging as a Skill. In Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2022). Association for Computing Machinery, New York, NY, USA, 172–184. https://doi.org/10.1145/3563835.3567665

Read the Abstract 阅读摘要

Debugging is an essential part of software development. Numerous tools and techniques to improve debugging have been proposed in research or developed in the industry. However, 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 Competitive 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 participants simultaneously work on the same failure or observe fellow participants during their debugging activity. To evaluate the format, we ran two pilots and one main event. We found that the format prompted participants to reflect 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 people who consider hosting a Competitive Debugging event.

Ultimately, we aim to provide developers with opportunities to improve their debugging skills. Our observations indicate that Competitive Debugging can provide such opportunities to train debugging techniques and learn new tools.