Helping Developers Find Debugging Hypotheses Using General Bug Descriptions and Code Analysis Techniques

Authors

  • SAIGAUTAM BONAM
  • Abdulaziz Alaboudi
  • Thomas D. LaToza

DOI:

https://doi.org/10.13021/jssr2020.3149

Abstract

Software developers often have a difficult time debugging their code and fixing defects that cause software to behave incorrectly. When initially faced with a defect, if developers are able to formulate a correct hypothesis, debugging is usually quick. However developers often struggle to find correct hypotheses on their own. In our work, we are investigating a new approach to debugging: a tool which generates suggested hypotheses for developers to investigate. To explore this approach, we built a Chrome Developer Tools extension named Hypothesizer. Hypothesizer generates a list of relevant hypotheses based on natural language processing of the developer’s description of the defect and ranks their relevance based on analysis of the code. In the future we hope to scale Hypothesizer and allow it to automatically generate relevant hypotheses as it encounters new defects. Ultimately, we believe our work has the potential to provide developers a much easier way to debug by identifying potential hypotheses for them when they experience bugs in their code. 

Published

2022-12-13

Issue

Section

College of Engineering and Computing: Department of Computer Science

Categories