Tips and Tools to Find Source
Code on the Web
Rosalva E. Gallardo-Valencia
rgallard@uci.edu
University of California, Irvi...
 The process of searching the Web for source
code to help solve a software development
problem.
 There is a great amount...
 Find examples
 Learn unfamiliar concepts
 Remember syntactic program language
 Get ideas
 Fix bugs
 Reuse source co...
 Find examples
 Given test cases: CodeGenie Plug-in
 API usage: SAS
 Given a method signature: Koder’s Plug-in
 Given...
 Goal: Use Test Cases (TC) to automate code search
and reuse.
 Scenario: Joe is looking for examples of how to
implement...
 Goal: Provide a search interface to find API usage
examples in large code repositories.
 Scenario: Joe wants to know wh...
 Goal: This plug-in will enable you to search any code that you
have indexed using Black Duck Code Sight in addition to b...
 Goal: Help developers to quickly find the best reusable open
source code, methods, examples, algorithms and more
 Scena...
 Goal: Exemplar augments standard code search to include JDK API
documentation of widely used libraries to find highly re...
Questions?
Thanks
Questions?
Which are the common scenarios in your
projects?
Which tools do you use?
Do you have any tips to look for so...
Help Participating in Survey!!
Please, complete this survey about Source Code
Search on the Web: http://bit.ly/dkguHX
I ...
Upcoming SlideShare
Loading in …5
×

Tools to Find Source Code on the Web

731 views
686 views

Published on

Tools to Find Source Code on the Web

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
731
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Tools to Find Source Code on the Web

  1. 1. Tips and Tools to Find Source Code on the Web Rosalva E. Gallardo-Valencia rgallard@uci.edu University of California, Irvine SoCal Code Camp 2010 - University of Southern California
  2. 2.  The process of searching the Web for source code to help solve a software development problem.  There is a great amount of source code available on the Web. How can we reuse it?  Most of us use Google to look for source code. However, there are other tools that can help us look specifically for source code. Source Code Search on the Web
  3. 3.  Find examples  Learn unfamiliar concepts  Remember syntactic program language  Get ideas  Fix bugs  Reuse source code Common Reasons to Look for Source Code on the Web
  4. 4.  Find examples  Given test cases: CodeGenie Plug-in  API usage: SAS  Given a method signature: Koder’s Plug-in  Given keywords: Koders, Google Code Search, Krugle, Sourcerer  API usage in OSS Projects: Exemplar Demo of Tools
  5. 5.  Goal: Use Test Cases (TC) to automate code search and reuse.  Scenario: Joe is looking for examples of how to implement a conversion from ordinal numbers between 1-1000 to roman numbers.  How does it work?: TC define behavior of desired functionality. TC test the matching results for suitability in the local context.  Limitations: Includes Java source code taken from Sourcerer  Eclipse Plug-in available: http://sourcerer.ics.uci.edu/codegenie/#codegenie Motivation: Find Examples given Test Cases Tool: CodeGenie (Eclipse Plug-In)
  6. 6.  Goal: Provide a search interface to find API usage examples in large code repositories.  Scenario: Joe wants to know what APIs use to open a url in a browser in Eclipse and also see usage examples. Query: open url in browser  How does it work?: SAS uses a code index that includes a field for each code entity that contains terms extracted from other entities that are similar to it.  Limitations: Current database contains code for Eclipse Plug-Ins  URL: http://nile.ics.uci.edu:8984/sas/Sourcerer_cs.html  More info and source code: http://github.com/sourcerer/Sourcerer/wiki/sas Motivation: Find Examples of API Usage Tool: SAS (Sourcerer API Search)
  7. 7.  Goal: This plug-in will enable you to search any code that you have indexed using Black Duck Code Sight in addition to billions of lines of open source code published on Koders.com.  Scenario: Joe wants examples of how to implement the calculation of MD5. Method name: CalculateMD5  How does it work?: It uses the method signature as input and uses the SmartSearchTM technology.  Limitations: It does not allow test cases as input.  Eclipse Plug-in available: http://corp.koders.com/downloads/plugins#IDE Motivation: Find Examples given a Method Signature Tool: Koders (Eclipse Plug-In)
  8. 8.  Goal: Help developers to quickly find the best reusable open source code, methods, examples, algorithms and more  Scenario: Joe is looking for a Java class that implements actions with a DB. Query: database connection java  How does it work?: It finds occurrences of keywords in source code.  Limitations: It does not take much advantage of source code structure  URL: http://www.koders.com/  Similar tools:  Google Code Search: http://www.google.com/codesearch  S6: http://conifer.cs.brown.edu:8180/S6Search/s6search.html  Krugle: http://www.krugle.com/  Sourcerer: http://sourcerer.ics.uci.edu/sourcerer/search/index.jsp Motivation: Find Examples given Keywords Tool: Koders
  9. 9.  Goal: Exemplar augments standard code search to include JDK API documentation of widely used libraries to find highly relevant software projects from large archives of applications.  Scenario: Joe is looking for a Java class that implements actions with a DB. Query: database connection  How does it work?: Exemplar takes natural-language query that contains high-level concepts (e.g., MIME, data sets) as input. It matches keywords from queries to words in help documentation for API calls in addition to nding keyword matches in the descriptions and the sourcefi code of applications.  Limitations: Only for Java projects in SourceForge.  URL: http://www.xemplar.org/ Motivation: Find Examples of API Usage in OSS Projects Tool: Exemplar
  10. 10. Questions? Thanks
  11. 11. Questions? Which are the common scenarios in your projects? Which tools do you use? Do you have any tips to look for source code on the Web?
  12. 12. Help Participating in Survey!! Please, complete this survey about Source Code Search on the Web: http://bit.ly/dkguHX I will be around asking you to complete it :)

×