Using clarification questions to improve software developers' Web search

by   Mia Mohammad Imran, et al.

Context: Recent research indicates that Web queries written by software developers are not very successful in retrieving relevant results, performing measurably worse compared to general purpose Web queries. Most approaches up to this point have addressed this problem with software engineering-specific automated query reformulation techniques, which work without developer involvement but are limited by the content of the original query. In other words, these techniques automatically improve the existing query but can not contribute new, previously unmentioned, concepts. Objective: In this paper, we propose a technique to guide software developers in manually improving their own Web search queries. We examine a conversational approach that follows unsuccessful queries with a clarification question aimed at eliciting additional query terms, thus providing to the developer a clear dimension along which the query could be improved. Methods: We describe a set of clarification questions derived from a corpus of software developer queries and a neural approach to recommending them for a newly issued query. Results: Our evaluation indicates that the recommendation technique is accurate, predicting a valid clarification question 80 outperforms simple baselines, as well as, state-of-the-art Learning To Rank (LTR) baselines. Conclusion: As shown in the experimental results, the described approach is capable at recommending appropriate clarification questions to software developers and considered useful by a sample of developers ranging from novices to experienced professionals.


page 1

page 2

page 3

page 4


The Usage of Web Search for Software Engineering

Internet plays a key role in accomplishing many tasks. For many such tas...

Automated Query Reformulation for Efficient Search based on Query Logs From Stack Overflow

As a popular Q A site for programming, Stack Overflow is a treasure fo...

QUICKAR: Automatic Query Reformulation for Concept Location using Crowdsourced Knowledge

During maintenance, software developers deal with numerous change reques...

An Empirical Study of Software Exceptions in the Field using Search Logs

Software engineers spend a substantial amount of time using Web search t...

A Systematic Literature Review of Automated Query Reformulations in Source Code Search

Software developers often fix critical bugs to ensure the reliability of...

Zero-shot Clarifying Question Generation for Conversational Search

A long-standing challenge for search and conversational assistants is qu...

Exploring Query Results

Users typically interact with a database by asking queries and examining...

Please sign up or login with your details

Forgot password? Click here to reset