Debugging Concurrent Programs¶

Brief abstract/introduction/motivation. State what the chapter is about in 1-2 paragraphs. Then, have an introduction video:

Prerequisites

  • Refer to earlier chapters as notebooks here, as here: Earlier Chapter.

Section 1¶

\todo{Add}

Synopsis¶

For those only interested in using the code in this chapter (without wanting to know how it works), give an example. This will be copied to the beginning of the chapter (before the first section) as text with rendered input and output.

Lessons Learned¶

  • Lesson one
  • Lesson two
  • Lesson three

Next Steps¶

Link to subsequent chapters (notebooks) here, as in:

  • use assertions to check conditions at runtime
  • reduce failing inputs for efficient debugging

Background¶

Cite relevant works in the literature and put them into context, as in:

The idea of ensuring that each expansion in the grammar is used at least once goes back to Burkhardt \cite{Burkhardt1967}, to be later rediscovered by Paul Purdom \cite{Purdom1972}.

Exercises¶

Close the chapter with a few exercises such that people have things to do. To make the solutions hidden (to be revealed by the user), have them start with

**Solution.**

Your solution can then extend up to the next title (i.e., any markdown cell starting with #).

Running make metadata will automatically add metadata to the cells such that the cells will be hidden by default, and can be uncovered by the user. The button will be introduced above the solution.

Exercise 1: Title¶

Text of the exercise

In [3]:
# Some code that is part of the exercise
pass

Some more text for the exercise

Exercise 2: Title¶

Text of the exercise