How programmers should report bugs 2020.09.21

Programmers can submit better bug reports than normal users or QA engineers can.

First, let's recap the basics which apply to everyone -

The basic bug report checklist

Going futher as a programmer

Programmers can provide additional insight that normal users can't. The following is phrased for libraries but also applies for internal bug reports -

Reproduce the problem with the example programs

Try to reproduce the problem with the library's example programs.

Reproducing the problem with the example is useful because everyone has access to it, and it is a better indicator that the bug is actually in the library rather than in user code.

If the bug cannot be reproduced in the example programs, try to see if you can extend them to reproduce it.

Add a failing test

Can the problem be reproduced nicely in a test? A test to reproduce is can be invaluable to the developer trying to solve it, and having the test in the test suite will help assure that the problem won't resurface in the future!

Is it a regression? Bisect

Is this problem new? Did it work fine in a previous version? Use git bisect to find where it broke! Finding the breaking commit can be invaluable in pinpointing the regression.

You could also leave a comment on the breaking commit and its author may notice. They may have relevant knowledge and be able to help!

Platform specific issues

Is the problem specific to the kind of hardware that you have? Does it only happen on a specific OS version or distribution? It might be the case that the developers of the library don't have access to a system like yours. So any additional work you can do to offer insight might be invaluable for getting the problem fixed for you!

Fix the problem

Did you try the previous steps? With any luck, those already provide a lot of insight about the bug, and hopefully even made it obvious. If it's an easy fix, consider adding a PR to your bug report!

Notes