ABSTRACT
We present Sourcerer API Search (SAS), a search interface to find API usage examples in large code repositories. SAS facilitates finding API usage examples by providing three unique features: (i) code snippets view for each result that shows the portions of code where APIs are used; (ii) Tag-cloud view of popular words to facilitate query reformulation, and (iii) filtering results using APIs to narrow search results. Furthermore, SAS uses a code index where each code entity is indexed with terms not only found in the entity but also in other entities having similar API usage. These features make SAS a novel search interface to find API usage examples in code repositories.
- Sourcerer wiki page on sourcerer api search tool http://wiki.github.com/sourcerer/Sourcerer/sas.Google Scholar
- S. Bajracharya, J. Ossher, and C. Lopes. Sourcerer: An internet-scale software repository. In First Intl. Workshop on Search Driven Development - Users, Infrastructure, Tools and Evaluation. ICSE 2009, 2009. Google ScholarDigital Library
- S. Bajracharya, J. Ossher, and C. Lopes. Leveraging usage similarity for effecive retrieval of examples in code repositories. Manuscript Under Preparation, 2010.Google Scholar
- M. Bruch, M. Monperrus, and M. Mezini. Learning from examples to improve code completion systems. In Proceegings of FSE, pages 213--222, Amsterdam, The Netherlands, 2009. ACM. Google ScholarDigital Library
- S. Chatterjee, S. Juvekar, and K. Sen. SNIFF: A Search Engine for Java Using Free-Form Queries. In Fundamental Approaches to Software Engineering, pages 385--400. 2009. Google ScholarDigital Library
- G. W. Furnas, T. K. Landauer, L. M. Gomez, and S. T. Dumais. The vocabulary problem in human-system communication. Commun. ACM, 30:964--971, 1987. Google ScholarDigital Library
- M. Grechanik, K. M. Conroy, and K. A. Probst. Finding Relevant Applications for Prototyping. In Proceedings of the Fourth International Workshop on Mining Software Repositories, page 12. IEEE Computer Society, 2007. Google ScholarDigital Library
- M. Hearst, A. Elliott, J. English, R. Sinha, K. Swearingen, and K. Yee. Finding the flow in web site search. Commun. ACM, 45(9):42--49, 2002. Google ScholarDigital Library
- O. Hoeber and X. D. Yang. Evaluating WordBars in exploratory web search scenarios. Inf. Process. Manage., 44(2):485--510, 2008. Google ScholarDigital Library
- R. Holmes and G. C. Murphy. Using structural context to recommend source code examples. In ICSE '05: Proceedings of the 27th international conference on Software engineering, pages 117--125, New York, NY, USA, 2005. ACM Press. Google ScholarDigital Library
- O. Hummel, W. Janjic, and C. Atkinson. Code conjurer: Pulling reusable software out of thin air. IEEE Softw., 25(5):45--52, 2008. Google ScholarDigital Library
- G. Marchionini. Exploratory search: from finding to understanding. Commun. ACM, 49(4):41--46, 2006. Google ScholarDigital Library
- J. Ossher, S. Bajracharya, and C. Lopes. SourcererDB: An aggregated repository of statically analyzed and cross-linked open source java projects. In MSR 2009: 6th IEEE Working Conference on Mining Software Repositories, 2009. Google ScholarDigital Library
- M. B. Rosson and J. M. Carroll. The reuse of uses in smalltalk programming. ACM Trans. Comput.-Hum. Interact., 3(3):219--253, 1996. Google ScholarDigital Library
- J. Stylos and B. A. Myers. Mica: A Web-Search tool for finding API components and examples. In Proceedings of the Visual Languages and Human-Centric Computing, pages 195--202. IEEE Computer Society, 2006. Google ScholarDigital Library
- S. Thummalapenta and T. Xie. Parseweb: a programmer assistant for reusing open source code on the web. In Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, pages 204--213, Atlanta, Georgia, USA, 2007. ACM. Google ScholarDigital Library
- S. Thummalapenta and T. Xie. SpotWeb: detecting framework hotspots via mining open source repositories on the web. In Proceedings of the 2008 international working conference on Mining software repositories, pages 109--112, Leipzig, Germany, 2008. ACM. Google ScholarDigital Library
- P. Willett, J. M. Barnard, and G. M. Downs. Chemical Similarity Searching. Journal of Chemical Information and Computer Sciences, 38(6):983--996, Nov. 1998.Google ScholarCross Ref
Index Terms
- Searching API usage examples in code repositories with sourcerer API search
Recommendations
Leveraging usage similarity for effective retrieval of examples in code repositories
FSE '10: Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineeringDevelopers often learn to use APIs (Application Programming Interfaces) by looking at existing examples of API usage. Code repositories contain many instances of such usage of APIs. However, conventional information retrieval techniques fail to perform ...
Eclipse API usage: the good and the bad
Today, when constructing software systems, many developers build their systems on top of frameworks. Eclipse is such a framework that has been in existence for over a decade. Like many other evolving software systems, the Eclipse platform has both ...
A dataset for API usage
MSR '15: Proceedings of the 12th Working Conference on Mining Software RepositoriesAn Application Programming Interface (API) provides a specific set of functionalities to a developer. The main aim of an API is to encourage the reuse of already existing functionality. There has been some work done into API popularity trends, API ...
Comments