Portfolio
Top Cited Papers
- 21 May 2011
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 111-120
- https://doi.org/10.1145/1985793.1985809
Abstract
Different studies show that programmers are more interested in finding definitions of functions and their uses than variables, statements, or arbitrary code fragments [30, 29, 31]. Therefore, programmers require support in finding relevant functions and determining how those functions are used. Unfortunately, existing code search engines do not provide enough of this support to developers, thus reducing the effectiveness of code reuse. We provide this support to programmers in a code search system called Portfolio that retrieves and visualizes relevant functions and their usages. We have built Portfolio using a combination of models that address surfing behavior of programmer and sharing Related concepts among functions. We conducted an experiment with 49 professional programmers to compare Portfolio to Google Code Search and Koders using a standard methodology. The results show with strong statistical significance that users find more relevant functions with higher precision with Portfolio than with Google Code Search and Koders.Keywords
This publication has 31 references indexed in Scilit:
- MAPO: Mining and Recommending API Usage PatternsLecture Notes in Computer Science, 2009
- SNIFF: A Search Engine for Java Using Free-Form QueriesLecture Notes in Computer Science, 2009
- Link analysis for Web spam detectionACM Transactions on the Web, 2008
- ParsewebPublished by Association for Computing Machinery (ACM) ,2007
- Finding a Needle in the Haystack: A Technique for Ranking Matches Between ComponentsLecture Notes in Computer Science, 2005
- Understanding and addressing the essential costs of evolving systemsBell Labs Technical Journal, 2002
- The anatomy of a large-scale hypertextual Web search engineComputer Networks and ISDN Systems, 1998
- Undecidability of static analysisACM Letters on Programming Languages and Systems, 1992
- Software reuseACM Computing Surveys, 1992
- A spreading-activation theory of semantic processing.Psychological Review, 1975