Nicholas Sawadsky – Reverb: Recommending Code-Related Web Pages

Developers often use the web (Google, StackOverflow) to find information while coding. The idea of Nicholas is to exploit knowledge in the IDE to improve queries.

Their tool Reverb saves web searches that a developer performs while building the code and shows them when a developer revisits this code and searches again. Previous searches and keywords from the source code are used to rank the previously visited pages.

So, why only consider previous searches and not the whole of Google? This was tried by the authors before (FishTail) but proved to be too hard, as developers often work on different projects (with different platform, libraries etc.) and it is hard to figure out what information is useful for the current search.

But, focusing on previous searches is useful enough, in their study, Nicholas and his coauthors found that 23% of all code-related  web page visits are revisits. Most of these revisits are very short (<15 min).

Reverb is built as an Eclipse plugin. It grabs method calls, method declarations, static fields and type references from the code and builds a query from them. This query is ran over previous pages, where pages that are visited more often and more recent are weighted higher


After implementation, the authors performed a field study. Everyone interested could download the tool. The tool would download the browsing history and collected data for 6 hours of active coding. In addition to the gathered data, after the six hours, users were asked to fill out a survey. 9 participants took part in the whole study. In the study, Reverb was able to improve ranking in 51% of the cases.