Towards an Understanding of the Causes of Difficulties in Debugging
Debugging remains one of the areas that have seen little progress since the early days of programming. We argue that the academic approach of observational studies is incapable of capturing the essence of debugging in complex software. Instead, reflections by programmers may provide a better description of the debugging nature and challenges. In this article, we describe a study where we capture the reflections of programmers on thorny bugs that exemplify the major sources of difficulties in debugging. More importantly, we provide suggestions on what could have been done to avoid such thorny bugs from occurring with the same level of difficulties. As a major conclusion, we argue that the be…