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

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 reuseeSAT Publishing House
 
Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)Reuse Software Components (IMS 2006)
Reuse Software Components (IMS 2006)IT Industry
 
Software testing tools
Software testing toolsSoftware testing tools
Software testing toolsGaurav Paliwal
 
Tutorial 1 (information retrieval basics)
Tutorial 1 (information retrieval basics)Tutorial 1 (information retrieval basics)
Tutorial 1 (information retrieval basics)Kira
 
Introduction to Information Retrieval
Introduction to Information RetrievalIntroduction to Information Retrieval
Introduction to Information RetrievalRoi Blanco
 
Storage And Retrieval Of Information
Storage And Retrieval Of InformationStorage And Retrieval Of Information
Storage And Retrieval Of InformationMarcus9000
 
Basic Software Tools for multi-media
Basic Software Tools for multi-mediaBasic Software Tools for multi-media
Basic Software Tools for multi-mediaguestb7a19c
 
Information storage and retrieval
Information storage and retrievalInformation storage and retrieval
Information storage and retrievalSadaf Rafiq
 

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
 
Learning activity 4
Learning activity 4Learning activity 4
Learning activity 4Aileen Banaguas
 
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
 
Entity Framework 4
Entity Framework 4Entity Framework 4
Entity Framework 4richardrflores1
 
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

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

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]