Q&A MAESTRO: Q&A Post Recommendation for Fixing Java Runtime Exceptions
Yusuke Kimura, Takumi Akazaki, Shinji Kikuchi, Sonal Mahajan, Mukul R. Prasad
TL;DR
This work tackles the time-intensive task of debugging Java runtime exceptions by automatically surfacing relevant Q&A posts. It introduces Q&A MAESTRO, which uses Abstract Program Graphs (APG) to capture code structure, enabling offline mining of Q&A posts and real-time matching against user code within an IDE. Key contributions include the APG representation, APG structural alignment, Failure Scenario Localization for selective ESPs, and a server-client IDE integration with a streamlined one-click search and UI for results. The approach reduces context switching, improves search relevance, and demonstrates practical viability through user studies and performance benchmarks, highlighting potential impact for beginner programmers and development productivity.
Abstract
Programmers often use Q&A sites (e.g., Stack Overflow) to understand a root cause of program bugs. Runtime exceptions is one of such important class of bugs that is actively discussed on Stack Overflow. However, it may be difficult for beginner programmers to come up with appropriate keywords for search. Moreover, they need to switch their attentions between IDE and browser, and it is time-consuming. To overcome these difficulties, we proposed a method, ``Q&A MAESTRO'', to find suitable Q&A posts automatically for Java runtime exception by utilizing structure information of codes described in programming Q&A website. In this paper, we describe a usage scenario of IDE-plugin, the architecture and user interface of the implementation, and results of user studies. A video is available at https://youtu.be/4X24jJrMUVw. A demo software is available at https://github.com/FujitsuLaboratories/Q-A-MAESTRO.
