Debugging, Testing and Correctness Workshop Series 2023
Debugging, Testing and Correctness Workshop Series 2023
Within modern, complex software landscapes, developers typically spend a significant proportion of their time on debugging. Studies estimate that more time is required to find bugs than to write actual code. Finding bugs and delivering correct(er) code becomes more difficult with modern HPC systems which offer unprecedented concurrency: The systems become heterogeneous, i.e. process code differently, bugs become non-deterministic, different programming models are used in combination, ….
Basic Information
Date: 23 November 2023 – 14 December 2023
Delivery: Hybrid. Participants can decide per session if they want to attend in-person.
Format: This workshop is for individuals and small groups of developers who want to acquire new skills. We expect each participant/group to bring along their own research code and to participate in all sessions.
Location: Department of Computer Science, Durham
Course Content
- 23 November 2023. From printf to a proper bug finding strategy – debugging and testing basics (Mladen Ivkovic, Durham)
- 9:00-10:00 Welcome notes & Participants introduce themselves and their codes
- 10:00-12:00 Lecture/workshop with hands-on session
- 13:00-15:00 Participants try out techniques with their own codes
- 29 November 2023. Compiler-based feedback (Joachim Jenke, RWTH Aachen, t.b.c)
- 9:00-12:00 Lecture/workshop with hands-on sessions
- 13:00-15:00 Participants try out techniques with their own codes
- 30 November 2023. Parallel program validation: MUST (Joachim Jenke, RWTH Aachen, t.b.c)
- 9:00-12:00 Lecture/workshop with hands-on sessions
- 13:00-15:00 Participants try out techniques with their own codes
- 5 December 2023. DDT: Scalable debugging (Rudy Shand, Linaro)
- 9:00-10:30 Lecture/workshop
- 10:30-12:00 Hands-on session
- 13:00-15:00 Participants try out DDT with their own codes
- 14 December 2023. Continuous integration and systematic testing – gitlab runners and github actions (Sean Baccas, Durham)
- 9:00-11:00 Lecture/workshop
- 11:00-12:00 Feedback session: participants reflect on lessons learned
- 13:00-15:00 Participants set up CI pipeline themselves
Prerequisites
Participants should be in post as PDRA, PhD or RSE developing massively parallel data analysis and simulation codes. We expect each participant to bring their research code along to the workshops. These codes should be written in Fortran and/or C/C++ (or any other compiled language) and the participants should be familiar with the code base and the underlying language. In the ideal case, participants have completed our C/C++ introductory course.
We expect participants to join every session of the workshop series. In many cases, this will be challenging. Therefore, we want to encourage participants to form teams, i.e. please bring along friends and colleagues. Teams should work on one common code throughout the workshop series. Therefore, if some team members cannot join a particular session, we still have the “code participating” in all of them.
Sign-up
Not yet available