Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1809175.1809177acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Searching API usage examples in code repositories with sourcerer API search

Published: 01 May 2010 Publication History

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.

References

[1]
Sourcerer wiki page on sourcerer api search tool http://wiki.github.com/sourcerer/Sourcerer/sas.
[2]
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.
[3]
S. Bajracharya, J. Ossher, and C. Lopes. Leveraging usage similarity for effecive retrieval of examples in code repositories. Manuscript Under Preparation, 2010.
[4]
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.
[5]
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.
[6]
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.
[7]
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.
[8]
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.
[9]
O. Hoeber and X. D. Yang. Evaluating WordBars in exploratory web search scenarios. Inf. Process. Manage., 44(2):485--510, 2008.
[10]
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.
[11]
O. Hummel, W. Janjic, and C. Atkinson. Code conjurer: Pulling reusable software out of thin air. IEEE Softw., 25(5):45--52, 2008.
[12]
G. Marchionini. Exploratory search: from finding to understanding. Commun. ACM, 49(4):41--46, 2006.
[13]
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.
[14]
M. B. Rosson and J. M. Carroll. The reuse of uses in smalltalk programming. ACM Trans. Comput.-Hum. Interact., 3(3):219--253, 1996.
[15]
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.
[16]
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.
[17]
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.
[18]
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.

Cited By

View all
  • (2023)Let's Chat to Find the APIs: Connecting Human, LLM and Knowledge Graph through AI ChainProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00075(471-483)Online publication date: 11-Nov-2023
  • (2022)Sequence-Aware API Recommendation Based on Collaborative FilteringInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402250043732:08(1203-1228)Online publication date: 19-Aug-2022
  • (2020)CROKAGE: effective solution recommendation for programming tasks by leveraging crowd knowledgeEmpirical Software Engineering10.1007/s10664-020-09863-2Online publication date: 2-Sep-2020
  • Show More Cited By

Index Terms

  1. Searching API usage examples in code repositories with sourcerer API search

          Recommendations

          Comments

          Information & Contributors

          Information

          Published In

          cover image ACM Conferences
          SUITE '10: Proceedings of 2010 ICSE Workshop on Search-driven Development: Users, Infrastructure, Tools and Evaluation
          May 2010
          60 pages
          ISBN:9781605589626
          DOI:10.1145/1809175
          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Sponsors

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          Published: 01 May 2010

          Permissions

          Request permissions for this article.

          Check for updates

          Author Tags

          1. API search
          2. exploratory code search
          3. search driven development
          4. search user interface
          5. software information retrieval

          Qualifiers

          • Research-article

          Conference

          ICSE '10
          Sponsor:

          Upcoming Conference

          ICSE 2025

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)4
          • Downloads (Last 6 weeks)0
          Reflects downloads up to 28 Jan 2025

          Other Metrics

          Citations

          Cited By

          View all
          • (2023)Let's Chat to Find the APIs: Connecting Human, LLM and Knowledge Graph through AI ChainProceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE56229.2023.00075(471-483)Online publication date: 11-Nov-2023
          • (2022)Sequence-Aware API Recommendation Based on Collaborative FilteringInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402250043732:08(1203-1228)Online publication date: 19-Aug-2022
          • (2020)CROKAGE: effective solution recommendation for programming tasks by leveraging crowd knowledgeEmpirical Software Engineering10.1007/s10664-020-09863-2Online publication date: 2-Sep-2020
          • (2020)Web API Search: Discover Web API and Its Endpoint with Natural Language QueriesWeb Services – ICWS 202010.1007/978-3-030-59618-7_7(96-113)Online publication date: 19-Sep-2020
          • (2019)Recommending comprehensive solutions for programming tasks by mining crowd knowledgeProceedings of the 27th International Conference on Program Comprehension10.1109/ICPC.2019.00054(358-368)Online publication date: 25-May-2019
          • (2017)Extracting word clouds in Git repositories2017 12th Iberian Conference on Information Systems and Technologies (CISTI)10.23919/CISTI.2017.7975911(1-6)Online publication date: Jul-2017
          • (2017)Understanding the impact of support for iteration on code searchProceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering10.1145/3106237.3106293(774-785)Online publication date: 21-Aug-2017
          • (2016)APIBookProceedings of the 8th Asia-Pacific Symposium on Internetware10.1145/2993717.2993727(45-53)Online publication date: 18-Sep-2016
          • (2014)Mining API Usage Examples from Test CodeProceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution10.1109/ICSME.2014.52(301-310)Online publication date: 29-Sep-2014
          • (2014)SourcererScience of Computer Programming10.1016/j.scico.2012.04.00879(241-259)Online publication date: 1-Jan-2014
          • Show More Cited By

          View Options

          Login options

          View options

          PDF

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          Figures

          Tables

          Media

          Share

          Share

          Share this Publication link

          Share on social media