SlideShare a Scribd company logo
1 of 60
Component Search  and Retrieval Advanced Reuse Seminars Eduardo Cruz
Information Retrieval - 1948 ,[object Object],[object Object],[object Object],[object Object],Calvin Northrup Mooers
Mooers' Law: “An information retrieval system will tend not to be used whenever it is more  painful and troublesome for a customer to have  information than for him not to have it,” 1959  Calvin Northrup Mooers
Mass Production Software components   [Mcllroy, 1968]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
Software Library ,[object Object],[object Object]
Classification Scheme ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recall and Precision ,[object Object],[object Object],[object Object],[object Object]
Asset Representation ,[object Object],[object Object],[object Object]
Asset retrieval Goals ,[object Object],[object Object],[object Object],[object Object]
Usually non included information ,[object Object],[object Object],[object Object]
Situational Model x System Model Component retrieval model [Lucrédio et. al , 2004 ]
[object Object],[object Object],[object Object],[object Object],[object Object]
Scott Henninger
Tools
Component Search Tools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Delphi Search Engine
Ispey.com
SPARS-J – (2003) Filter
SourceBank Filter
CSourceSearch.Net – (2004)
Koders.com – (2004)
CODASE – Launched Sep 9, 2005 Example Searches Browsing Multiple Search Options “… based on the number of people in your company, starting from  $5,000 USD ”
CODASE - Browsing
Other Tools
 
AGORA - Location and Indexing (1998) INTERNET AltaVista Search Index Server Filter INDEX AltaVista  Query Server Web Server JavaBeans Agent JavaBeans Introspector JavaBeans Agent JavaBeans Introspector JavaBeans Agent JavaBeans Introspector
Component Rank (1998) V 1 V 3 V 2 0.2 0.2 0.2 0.2 0.4 0.4 0.4 D12 = 0.5 D13 = 0.5 D23 = 1 D31 = 1 Nodes v Edges e Graph G Weight w Distribution Ratio d
[object Object]
Clustered Component Graph V1 ≡  V4  ,  V2  ≡  V6 V7 V’26 V’14 V’5 V’3 V3 V2 V1 V7 V6 V4 V5
[object Object],[object Object],[object Object],[object Object],V3 V2 V1 V7 V6 V4 V5
Component Rank System Architecture .java file ≡ component (1) Similarity  Measurement (2) Clustering (3) Use Relation  Extraction (4) Component Graph  Construction (5) Component Rank  Computation by Repetition (6) De-Clustering to  Original Component Graph INPUT OUTPUT Order of Weights ≡ Component Rank of .java files
Simple Copied  Components Copied  Components Other Components Non-clustered component Graph 1/4 Clustering Before Weight Computation 1/4 1/4 1/4 1/3 Clustering After Weight Computation 1/3 1/6 1/6 A B A B X Y A’ B’ X’ Y’ A’ B’ X’ Y’
[object Object],[object Object],[object Object]
Copied AND MODIFIED  Components Copied and Modified Components Other Components Non-clustered component Graph Clustering Before Weight Computation 1/5 1/5 Original  Components A B’ C’ 2/5 1/5 1/5 Clustering Before Weight Computation 1/5 1/6 A’ B’ C’ 1/3 1/6 1/6 A B A C X Y X’ Y’ X’ Y’
Beyond Searching and Browsing ,[object Object],[object Object],[object Object]
CodeBroker – (2001) ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
Information Islands Belief Vaguely Known Well  Known  L4: Entire Information Space Unknown components
CodeBroker L3: Belief L2: Vaguely Known L1:  Well  Known L4: Entire Information Space Information Use: L1 – Use by Memory L2 – Use by Recall L3 – Use by Anticipation L4 – Use by Delivery Already Known Components Irrelevant Components Task Relevant Information
Program Aspects ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Information delivery ,[object Object],[object Object],[object Object],[object Object]
Information delivery ,[object Object],[object Object]
Latent Semantic Analysis (LSA) ,[object Object],[object Object],[object Object]
 
Comments signature Discourse model User model
Koders Enterprise – (2004)
M.A.R.A.C.A.T.U. –  M odern  A rchitecture for  R etrieving  A ll  C omponents  A t  T he  U niverse (2005)
Using Structural Context  to Recommend Source  Code Examples Reid Holmes and Gail C. Murphy University of British Columbia Software Practices Lab
The Problem: A Concrete Example ,[object Object],[object Object],[object Object]
Project Repository Development Environment Using Structural Context to Recommend Source  Code Examples -  Reid Holmes and Gail C. Murphy Structural Context Examples
Strathcona: Extract Structural Context ViewPart SampleView setMessage(String) IStatusLineManager setMessage(String)
Strathcona: Example Navigation ,[object Object],[object Object],[object Object]
Strathcona: Viewing Example Source ,[object Object],[object Object],[object Object]
Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bibliography ,[object Object],[object Object],[object Object],[object Object],[object Object]
“ Imperfect technology in a working market is sustainable;  perfect technology without any market will vanish” [Szyperski, 1999]

More Related Content

What's hot

A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code... A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...Nakul Sharma
 
Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015
Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015
Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015Stuart Chalk
 
FRBR Applied to Scientific Data by Joseph A. Hourclé
FRBR Applied to Scientific Data by Joseph A. HourcléFRBR Applied to Scientific Data by Joseph A. Hourclé
FRBR Applied to Scientific Data by Joseph A. HourcléPVC.ASIST
 
Mining Software Repositories
Mining Software RepositoriesMining Software Repositories
Mining Software RepositoriesIsrael Herraiz
 
Overview of the Analytical Information Markup Language (AnIML)
Overview of the Analytical Information Markup Language (AnIML)Overview of the Analytical Information Markup Language (AnIML)
Overview of the Analytical Information Markup Language (AnIML)Stuart Chalk
 
Data Mining and the Web_Past_Present and Future
Data Mining and the Web_Past_Present and FutureData Mining and the Web_Past_Present and Future
Data Mining and the Web_Past_Present and Futurefeiwin
 
Feature Extraction for Large-Scale Text Collections
Feature Extraction for Large-Scale Text CollectionsFeature Extraction for Large-Scale Text Collections
Feature Extraction for Large-Scale Text CollectionsSease
 

What's hot (8)

A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code... A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
A Conceptual Dependency Graph Based Keyword Extraction Model for Source Code...
 
Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015
Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015
Integrating AnIML Files in Electronic Laboratory Notebooks - PittCon 2015
 
FRBR Applied to Scientific Data by Joseph A. Hourclé
FRBR Applied to Scientific Data by Joseph A. HourcléFRBR Applied to Scientific Data by Joseph A. Hourclé
FRBR Applied to Scientific Data by Joseph A. Hourclé
 
Mining Software Repositories
Mining Software RepositoriesMining Software Repositories
Mining Software Repositories
 
Overview of the Analytical Information Markup Language (AnIML)
Overview of the Analytical Information Markup Language (AnIML)Overview of the Analytical Information Markup Language (AnIML)
Overview of the Analytical Information Markup Language (AnIML)
 
Data mining weka
Data mining wekaData mining weka
Data mining weka
 
Data Mining and the Web_Past_Present and Future
Data Mining and the Web_Past_Present and FutureData Mining and the Web_Past_Present and Future
Data Mining and the Web_Past_Present and Future
 
Feature Extraction for Large-Scale Text Collections
Feature Extraction for Large-Scale Text CollectionsFeature Extraction for Large-Scale Text Collections
Feature Extraction for Large-Scale Text Collections
 

Viewers also liked

Viewers also liked (12)

Characterization of reusable software components for better reuse
Characterization of reusable software components for better reuseCharacterization of reusable software components for better reuse
Characterization of reusable software components for better reuse
 
Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing tools
 
Tutorial 1 (information retrieval basics)
Tutorial 1 (information retrieval basics)Tutorial 1 (information retrieval basics)
Tutorial 1 (information retrieval basics)
 
Introduction to Information Retrieval
Introduction to Information RetrievalIntroduction to Information Retrieval
Introduction to Information Retrieval
 
Information Retrieval
Information RetrievalInformation Retrieval
Information Retrieval
 
Storage And Retrieval Of Information
Storage And Retrieval Of InformationStorage And Retrieval Of Information
Storage And Retrieval Of Information
 
Basic Software Tools for multi-media
Basic Software Tools for multi-mediaBasic Software Tools for multi-media
Basic Software Tools for multi-media
 
Ch2 sw processes
Ch2 sw processesCh2 sw processes
Ch2 sw processes
 
Ch15 software reuse
Ch15 software reuseCh15 software reuse
Ch15 software reuse
 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Information storage and retrieval
Information storage and retrievalInformation storage and retrieval
Information storage and retrieval
 

Similar to Component Search and Retrieval

TECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACHTECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACHcscpconf
 
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptxFAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptxgattamanenitejeswar
 
Btech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdfBtech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdfAdityaBhateja1
 
Searching Repositories of Web Application Models
Searching Repositories of Web Application ModelsSearching Repositories of Web Application Models
Searching Repositories of Web Application ModelsMarco Brambilla
 
CS6007 information retrieval - 5 units notes
CS6007   information retrieval - 5 units notesCS6007   information retrieval - 5 units notes
CS6007 information retrieval - 5 units notesAnandh Arumugakan
 
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docxTerm Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docxmattinsonjanel
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repositorySandeep Singh
 
Algorithm for calculating relevance of documents in information retrieval sys...
Algorithm for calculating relevance of documents in information retrieval sys...Algorithm for calculating relevance of documents in information retrieval sys...
Algorithm for calculating relevance of documents in information retrieval sys...IRJET Journal
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 
Machine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search EngineMachine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search EngineSalford Systems
 
Privacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud dataPrivacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud dataIGEEKS TECHNOLOGIES
 
Data_Mining_for_Software_Engineering.pdf
Data_Mining_for_Software_Engineering.pdfData_Mining_for_Software_Engineering.pdf
Data_Mining_for_Software_Engineering.pdfassadabbas22
 
IRJET- Data Mining - Secure Keyword Manager
IRJET- Data Mining - Secure Keyword ManagerIRJET- Data Mining - Secure Keyword Manager
IRJET- Data Mining - Secure Keyword ManagerIRJET Journal
 
A Case Study Of A Reusable Component Collection
A Case Study Of A Reusable Component CollectionA Case Study Of A Reusable Component Collection
A Case Study Of A Reusable Component CollectionJennifer Strong
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)Tao Xie
 
C# 3.0 and LINQ Tech Talk
C# 3.0 and LINQ Tech TalkC# 3.0 and LINQ Tech Talk
C# 3.0 and LINQ Tech TalkMichael Heydt
 

Similar to Component Search and Retrieval (20)

TECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACHTECHNIQUES FOR COMPONENT REUSABLE APPROACH
TECHNIQUES FOR COMPONENT REUSABLE APPROACH
 
Uncovering Library Features from API Usage on Stack Overflow
Uncovering Library Features from API Usage on Stack OverflowUncovering Library Features from API Usage on Stack Overflow
Uncovering Library Features from API Usage on Stack Overflow
 
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptxFAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
FAST PHRASE SEARCH FOR ENCRYPTED CLOUD STORAGE.pptx
 
Btech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdfBtech IT Sem VII and VIII-1 (1).pdf
Btech IT Sem VII and VIII-1 (1).pdf
 
Searching Repositories of Web Application Models
Searching Repositories of Web Application ModelsSearching Repositories of Web Application Models
Searching Repositories of Web Application Models
 
CS6007 information retrieval - 5 units notes
CS6007   information retrieval - 5 units notesCS6007   information retrieval - 5 units notes
CS6007 information retrieval - 5 units notes
 
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docxTerm Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
Term Paper VirtualizationDue Week 10 and worth 210 pointsThis.docx
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
 
Learning activity 4
Learning activity 4Learning activity 4
Learning activity 4
 
Algorithm for calculating relevance of documents in information retrieval sys...
Algorithm for calculating relevance of documents in information retrieval sys...Algorithm for calculating relevance of documents in information retrieval sys...
Algorithm for calculating relevance of documents in information retrieval sys...
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
Machine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search EngineMachine Learned Relevance at A Large Scale Search Engine
Machine Learned Relevance at A Large Scale Search Engine
 
Privacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud dataPrivacy preserving multi-keyword ranked search over encrypted cloud data
Privacy preserving multi-keyword ranked search over encrypted cloud data
 
Data_Mining_for_Software_Engineering.pdf
Data_Mining_for_Software_Engineering.pdfData_Mining_for_Software_Engineering.pdf
Data_Mining_for_Software_Engineering.pdf
 
ThesisProposal
ThesisProposalThesisProposal
ThesisProposal
 
IRJET- Data Mining - Secure Keyword Manager
IRJET- Data Mining - Secure Keyword ManagerIRJET- Data Mining - Secure Keyword Manager
IRJET- Data Mining - Secure Keyword Manager
 
A Case Study Of A Reusable Component Collection
A Case Study Of A Reusable Component CollectionA Case Study Of A Reusable Component Collection
A Case Study Of A Reusable Component Collection
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4
 
C# 3.0 and LINQ Tech Talk
C# 3.0 and LINQ Tech TalkC# 3.0 and LINQ Tech Talk
C# 3.0 and LINQ Tech Talk
 

Recently uploaded

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
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Recently uploaded (20)

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
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Component Search and Retrieval

  • 1. Component Search and Retrieval Advanced Reuse Seminars Eduardo Cruz
  • 2.
  • 3. Mooers' Law: “An information retrieval system will tend not to be used whenever it is more painful and troublesome for a customer to have information than for him not to have it,” 1959 Calvin Northrup Mooers
  • 4. Mass Production Software components [Mcllroy, 1968]
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. Situational Model x System Model Component retrieval model [Lucrédio et. al , 2004 ]
  • 14.
  • 16. Tools
  • 17.
  • 18.  
  • 25. CODASE – Launched Sep 9, 2005 Example Searches Browsing Multiple Search Options “… based on the number of people in your company, starting from $5,000 USD ”
  • 28.  
  • 29. AGORA - Location and Indexing (1998) INTERNET AltaVista Search Index Server Filter INDEX AltaVista Query Server Web Server JavaBeans Agent JavaBeans Introspector JavaBeans Agent JavaBeans Introspector JavaBeans Agent JavaBeans Introspector
  • 30. Component Rank (1998) V 1 V 3 V 2 0.2 0.2 0.2 0.2 0.4 0.4 0.4 D12 = 0.5 D13 = 0.5 D23 = 1 D31 = 1 Nodes v Edges e Graph G Weight w Distribution Ratio d
  • 31.
  • 32. Clustered Component Graph V1 ≡ V4 , V2 ≡ V6 V7 V’26 V’14 V’5 V’3 V3 V2 V1 V7 V6 V4 V5
  • 33.
  • 34. Component Rank System Architecture .java file ≡ component (1) Similarity Measurement (2) Clustering (3) Use Relation Extraction (4) Component Graph Construction (5) Component Rank Computation by Repetition (6) De-Clustering to Original Component Graph INPUT OUTPUT Order of Weights ≡ Component Rank of .java files
  • 35. Simple Copied Components Copied Components Other Components Non-clustered component Graph 1/4 Clustering Before Weight Computation 1/4 1/4 1/4 1/3 Clustering After Weight Computation 1/3 1/6 1/6 A B A B X Y A’ B’ X’ Y’ A’ B’ X’ Y’
  • 36.
  • 37. Copied AND MODIFIED Components Copied and Modified Components Other Components Non-clustered component Graph Clustering Before Weight Computation 1/5 1/5 Original Components A B’ C’ 2/5 1/5 1/5 Clustering Before Weight Computation 1/5 1/6 A’ B’ C’ 1/3 1/6 1/6 A B A C X Y X’ Y’ X’ Y’
  • 38.
  • 39.
  • 40.
  • 41. Information Islands Belief Vaguely Known Well Known L4: Entire Information Space Unknown components
  • 42. CodeBroker L3: Belief L2: Vaguely Known L1: Well Known L4: Entire Information Space Information Use: L1 – Use by Memory L2 – Use by Recall L3 – Use by Anticipation L4 – Use by Delivery Already Known Components Irrelevant Components Task Relevant Information
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.  
  • 48. Comments signature Discourse model User model
  • 50. M.A.R.A.C.A.T.U. – M odern A rchitecture for R etrieving A ll C omponents A t T he U niverse (2005)
  • 51. Using Structural Context to Recommend Source Code Examples Reid Holmes and Gail C. Murphy University of British Columbia Software Practices Lab
  • 52.
  • 53. Project Repository Development Environment Using Structural Context to Recommend Source Code Examples - Reid Holmes and Gail C. Murphy Structural Context Examples
  • 54. Strathcona: Extract Structural Context ViewPart SampleView setMessage(String) IStatusLineManager setMessage(String)
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60. “ Imperfect technology in a working market is sustainable; perfect technology without any market will vanish” [Szyperski, 1999]