Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
Software today is large and complex, in fact, more so than ever before. Consequently, debugging when failure is observed is also becoming much more difficult and time-consuming. Manual debugging is quickly losing its viability as a practical option, and yet at the same time, various alternative approaches are still too immature for practical use.
Techniques that aim for automatic fault localization are not accurate and consistent enough to pinpoint the locations of faults to the desired degree. Distinguishing executions that fail due to different causative faults, reliably recording and replaying failed executions, and fixing bugs without introducing new faults are but some of the debugging-related problems faced by developers today.
Even though a software development project may apply such techniques, they may require developers to make the final selection, diagnosis, and fixing decisions. Social aspects of software development projects that aid debugging, such as selecting the right developers to perform the right debugging tasks at the right time, have not been adequately explored. Finally, while studies are being conducted to reveal, clarify, or resolve some of these issues, researchers often conduct studies in restrictive environments that may inherently make incorrect assumptions about the industry. All these concerns can induce in practitioners a lack of faith about the results that debugging research can offer and deliver. In this special issue on Program Debugging, seven papers are presented that investigate issues in diverse areas of program debugging and their automation.
We, the guest editors, thank the authors for their hard work in preparing and revising their manuscripts. We thank the reviewers for taking the time to write detailed reviews. Finally, we thank the Editor-In-Chief, Prof. Rachel Harrison, and the editorial staff for their patience and hard work in getting this special issue ready for publication.