Recommending Stack Overflow Posts for Fixing Runtime Exceptions using Failure Scenario Matching
Sonal Mahajan (1), Negarsadat Abolhassani (2), Mukul R. Prasad (1), ((1) Fujitsu Laboratories of America, Inc., (2) University of Southern, California)

TL;DR
This paper introduces MAESTRO, a tool that automatically recommends relevant Stack Overflow posts for fixing Java runtime exceptions by matching exception scenarios using an abstract program graph.
Contribution
The work presents a novel approach using abstract program graphs to effectively compare exception scenarios and improve SO post recommendations for runtime bugs.
Findings
MAESTRO achieves 71% relevance in recommendations on a Java benchmark.
Compared to four state-of-the-art tools, MAESTRO significantly improves relevance rates.
User study shows 80% of recommendations are highly or somewhat relevant.
Abstract
Using online Q&A forums, such as Stack Overflow (SO), for guidance to resolve program bugs, among other development issues, is commonplace in modern software development practice. Runtime exceptions (RE) is one such important class of bugs that is actively discussed on SO. In this work we present a technique and prototype tool called MAESTRO that can automatically recommend an SO post that is most relevant to a given Java RE in a developer's code. MAESTRO compares the exception-generating program scenario in the developer's code with that discussed in an SO post and returns the post with the closest match. To extract and compare the exception scenario effectively, MAESTRO first uses the answer code snippets in a post to implicate a subset of lines in the post's question code snippet as responsible for the exception and then compares these lines with the developer's code in terms of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
