• Save


Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Tools to Find Source Code on the Web



Tools to Find Source Code on the Web

Tools to Find Source Code on the Web



Total Views
Views on SlideShare
Embed Views



2 Embeds 96

http://www.socalcodecamp.com 95
http://feeds.feedburner.com 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Tools to Find Source Code on the Web Tools to Find Source Code on the Web Presentation Transcript

    • Tips and Tools to Find Source Code on the Web Rosalva E. Gallardo-Valencia [email_address] University of California, Irvine SoCal Code Camp 2010 - University of Southern California
      • 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
      • 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
      • 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
      • 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)
      • 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)
      • 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)
      • 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
      • 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 finding keyword matches in the descriptions and the source 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
    • Questions? Thanks
    • 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?
    • 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 :)