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 2010Publication 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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Bajracharya, J. Ossher, and C. Lopes. Leveraging usage similarity for effecive retrieval of examples in code repositories. Manuscript Under Preparation, 2010.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. O. Hoeber and X. D. Yang. Evaluating WordBars in exploratory web search scenarios. Inf. Process. Manage., 44(2):485--510, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. O. Hummel, W. Janjic, and C. Atkinson. Code conjurer: Pulling reusable software out of thin air. IEEE Softw., 25(5):45--52, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Marchionini. Exploratory search: from finding to understanding. Commun. ACM, 49(4):41--46, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

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

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • 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

            Copyright © 2010 ACM

            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]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 May 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Upcoming Conference

            ICSE 2025

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader