Automatic search term identification for change tasks

Author(s): Katja Kevic, Thomas Fritz
Venue: 36th IEEE/ACM International Conference on Software Engineering
Date: 2014

Type of Experiement: Case Study
Sample Size: 10
Class/Experience Level: Professional
Participant Selection: Professional developers
Data Collection Method: Observation, Project Artifact(s)


When refactoring code, the first thing developers often do is search the source code to find locations relevant to the task. However, developers perform poorly in identifying good search terms and therefore waste a lot of time querying and exploring irrelevant code. Based on existing work and an analysis of change tasks, Kevic and Fritz derived heuristics, determined their relevancy and used the results to develop an approach. They conducted a study with ten developers working on open source change tasks. When comparing the search results produced from the whole, preprocessed change task description with the ones from the top most recommendation, their approach produced a more relevant result in 4 of 6 cases and equally relevant results in 2 cases. However, as this was a small study on a changing process, more research will be needed to confirm if this heuristic approach is truly usable and useful.