SHF:Small: Social-Technical Code Search
University Of California-Irvine, Irvine CA
Investigators
Abstract
Programming has undergone a paradigm shift: with the abundance of resources available on the web, including open source code repositories, question and answer forums, tutorials, and online books, programmers now routinely search for code. Indeed, it can easily be argued that the modern programmer has to be as versed in finding and interpreting relevant code on the web as they are in actually writing code. Clearly, how effective and efficient developers are in their searches depends on the tool they use. Whether a search concerns a quest for an entire component that performs certain functionality, a hunt for an example of how to use an API, or a quick look for how to implement some algorithm, the success of the search stands or falls with the quality and relevance of the results returned by the chosen search engine. This proposal seeks to explore the concept of social-technical code search, in which the information that is used by the search engine to produce its results is enriched with both social and technical metadata that, together, construct a rich context about the code, its current state, and how it came about. We hypothesize that this context significantly increases the quality and relevance of code search results, and, particularly, too, enables the developer to effectively explore code search results rather than just examining each result one-by-one in isolation. Specific outcomes from this research will include: (1) a novel conceptual approach to code search, (2) new ranking algorithms that take into account both code and its social-technical context when ordering search results, (3) a novel code search engine and associated search interface, (4) new insights into how developers search for code, and (5) an publicly available archive of search queries and behaviors that can be mined and analyzed by other researchers for their purposes.
View original record on NSF Award Search →