SlideShare a Scribd company logo
1 of 12
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
 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 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
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 :)

More Related Content

Viewers also liked

Overview on feral hog management in Brazil after three years of control regul...
Overview on feral hog management in Brazil after three years of control regul...Overview on feral hog management in Brazil after three years of control regul...
Overview on feral hog management in Brazil after three years of control regul...Marcelo Wallau
 
BWPenman Energy
BWPenman EnergyBWPenman Energy
BWPenman Energyguysloyan
 
Rosa et al 2016 vpc - an overview of feral hog management in Brazil after ...
Rosa et al 2016    vpc - an overview of feral hog management in Brazil after ...Rosa et al 2016    vpc - an overview of feral hog management in Brazil after ...
Rosa et al 2016 vpc - an overview of feral hog management in Brazil after ...Marcelo Wallau
 
Digital logic circuit
Digital logic circuitDigital logic circuit
Digital logic circuitAbdul Mutal
 

Viewers also liked (8)

Overview on feral hog management in Brazil after three years of control regul...
Overview on feral hog management in Brazil after three years of control regul...Overview on feral hog management in Brazil after three years of control regul...
Overview on feral hog management in Brazil after three years of control regul...
 
BROCHURE UPDATED RECENTLY
BROCHURE UPDATED RECENTLYBROCHURE UPDATED RECENTLY
BROCHURE UPDATED RECENTLY
 
BWPenman Energy
BWPenman EnergyBWPenman Energy
BWPenman Energy
 
Rosa et al 2016 vpc - an overview of feral hog management in Brazil after ...
Rosa et al 2016    vpc - an overview of feral hog management in Brazil after ...Rosa et al 2016    vpc - an overview of feral hog management in Brazil after ...
Rosa et al 2016 vpc - an overview of feral hog management in Brazil after ...
 
Joseph fourier
Joseph fourierJoseph fourier
Joseph fourier
 
Digital logic circuit
Digital logic circuitDigital logic circuit
Digital logic circuit
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Vendajes vendajes
Vendajes   vendajesVendajes   vendajes
Vendajes vendajes
 

Similar to Tools to Find Source Code on the Web

Improving your team’s source code searching capabilities
Improving your team’s source code searching capabilitiesImproving your team’s source code searching capabilities
Improving your team’s source code searching capabilitiesNikos Katirtzis
 
Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...Nikos Katirtzis
 
Mining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software ArtifactsMining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software ArtifactsPreetha Chatterjee
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Tom Johnson
 
Towards Reusable Research Software
Towards Reusable Research SoftwareTowards Reusable Research Software
Towards Reusable Research Softwaredgarijo
 
API Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC ChapterAPI Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC ChapterTom Johnson
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterTom Johnson
 
You Don't Know SEO
You Don't Know SEOYou Don't Know SEO
You Don't Know SEOMichael King
 
Web Techology and google code sh (2014_10_10 08_57_30 utc)
Web Techology and google code sh (2014_10_10 08_57_30 utc)Web Techology and google code sh (2014_10_10 08_57_30 utc)
Web Techology and google code sh (2014_10_10 08_57_30 utc)Suyash Gupta
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015Tom Johnson
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with PythonBrian Lyttle
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)Tom Johnson
 
RACK-Tool-ICSE2017
RACK-Tool-ICSE2017RACK-Tool-ICSE2017
RACK-Tool-ICSE2017Masud Rahman
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentationTom Johnson
 
IBM Developer Model Asset eXchange - Deep Learning for Everyone
IBM Developer Model Asset eXchange - Deep Learning for EveryoneIBM Developer Model Asset eXchange - Deep Learning for Everyone
IBM Developer Model Asset eXchange - Deep Learning for EveryoneNick Pentreath
 
‘CodeAliker’ - Plagiarism Detection on the Cloud
‘CodeAliker’ - Plagiarism Detection on the Cloud ‘CodeAliker’ - Plagiarism Detection on the Cloud
‘CodeAliker’ - Plagiarism Detection on the Cloud acijjournal
 
apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...
apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...
apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...apidays
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty MarketBill Dubie
 

Similar to Tools to Find Source Code on the Web (20)

Improving your team’s source code searching capabilities
Improving your team’s source code searching capabilitiesImproving your team’s source code searching capabilities
Improving your team’s source code searching capabilities
 
Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...Improving your team's source code searching capabilities - Voxxed Thessalonik...
Improving your team's source code searching capabilities - Voxxed Thessalonik...
 
Google code search
Google code searchGoogle code search
Google code search
 
Walter api
Walter apiWalter api
Walter api
 
Mining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software ArtifactsMining Code Examples with Descriptive Text from Software Artifacts
Mining Code Examples with Descriptive Text from Software Artifacts
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
 
Towards Reusable Research Software
Towards Reusable Research SoftwareTowards Reusable Research Software
Towards Reusable Research Software
 
API Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC ChapterAPI Documentation presentation to East Bay STC Chapter
API Documentation presentation to East Bay STC Chapter
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC Chapter
 
You Don't Know SEO
You Don't Know SEOYou Don't Know SEO
You Don't Know SEO
 
Web Techology and google code sh (2014_10_10 08_57_30 utc)
Web Techology and google code sh (2014_10_10 08_57_30 utc)Web Techology and google code sh (2014_10_10 08_57_30 utc)
Web Techology and google code sh (2014_10_10 08_57_30 utc)
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
 
RACK-Tool-ICSE2017
RACK-Tool-ICSE2017RACK-Tool-ICSE2017
RACK-Tool-ICSE2017
 
Publishing strategies for API documentation
Publishing strategies for API documentationPublishing strategies for API documentation
Publishing strategies for API documentation
 
IBM Developer Model Asset eXchange - Deep Learning for Everyone
IBM Developer Model Asset eXchange - Deep Learning for EveryoneIBM Developer Model Asset eXchange - Deep Learning for Everyone
IBM Developer Model Asset eXchange - Deep Learning for Everyone
 
‘CodeAliker’ - Plagiarism Detection on the Cloud
‘CodeAliker’ - Plagiarism Detection on the Cloud ‘CodeAliker’ - Plagiarism Detection on the Cloud
‘CodeAliker’ - Plagiarism Detection on the Cloud
 
apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...
apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...
apidays LIVE Singapore - Your API documentation powered by AI by Hervé Vu Rou...
 
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
APIs And SDKs  Breaking Into And Succeeding In A Specialty MarketAPIs And SDKs  Breaking Into And Succeeding In A Specialty Market
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
 

Recently uploaded

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Tools to Find Source Code on the Web

  • 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.  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.  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.  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.  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.  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.  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.  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.  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
  • 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. 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 :)