Improved query reformulation for concept location using CodeRank and document structures
- Published
- Accepted
- Subject Areas
- Software Engineering
- Keywords
- CodeRank, Query reformulation, query quality analysis, term weighting, concept location, data resampling
- Copyright
- © 2017 Rahman et al.
- Licence
- This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Preprints) and either DOI or URL of the article must be cited.
- Cite this article
- 2017. Improved query reformulation for concept location using CodeRank and document structures. PeerJ Preprints 5:e3186v1 https://doi.org/10.7287/peerj.preprints.3186v1
Abstract
During software maintenance, developers usually deal with a significant number of software change requests. As a part of this, they often formulate an initial query from the request texts, and then attempt to map the concepts discussed in the request to relevant source code locations in the software system (a.k.a, concept location). Unfortunately, studies suggest that they often perform poorly in choosing the right search terms for a change task. In this paper, we propose a novel technique –ACER– that takes an initial query, identifies appropriate search terms from the source code using a novel term weight –CodeRank, and then suggests effective reformulation to the initial query by exploiting the source document structures, query quality analysis and machine learning. Experiments with 1,675 baseline queries from eight subject systems report that our technique can improve 71% of the baseline queries which is highly promising. Comparison with five closely related existing techniques in query reformulation not only validates our empirical findings but also demonstrates the superiority of our technique.
Author Comment
This is a preprint submission to PeerJ