Locating features in large software systems is a fundamental maintenance task for developers when fixing bugs and extending software. We introduce  In Situ Impact Insight  (I3), a novel user interface to support feature location. In addition to a list of search results, I3 provides support for developers during browsing and inspecting the retrieved code entities. In situ visualizations augment results and source code with additional information relevant for further exploration. Developers are able to retrieve details on the textual similarity of a source code entity to the search query and to other entities, as well as the information on co-changed entities from a project's history. Execution traces recorded during program runs can be used as filters to further refine the search results. We implemented I3 as an Eclipse plug-in and tested it in a user study involving 18 students and professional developers that were asked to perform three feature location tasks chosen from the issue tracking system of jEdit. The results of our study suggest that I3's user interface is intuitive and unobtrusively supports developers with the required information  when  and  where  they need it.
['Fabian Beck', 'Bogdan Dit', 'Jaleo Velasco-Madden', 'Daniel Weiskopf', 'Denys Poshyvanyk']
Rethinking user interfaces for feature location