SlideShare uma empresa Scribd logo
1 de 23
AN IDE-BASED CONTEXT-AWARE
META SEARCH ENGINE
Mohammad Masudur Rahman, Shamima Yeasmin, and
Chanchal K. Roy
Department of Computer Science
University of Saskatchewan
20th Working Conference on Reverse Engineering
(WCRE 2013), Koblenz, Germany
SOFTWARE MAINTENANCE, BUGS &
EXCEPTIONS
EXCEPTION HANDLING: IDE SUPPORT
1
2
EXCEPTION HANDLING: DEVELOPERS
(NOVICE & EXPERT)
EXCEPTION HANDLING: WEB SEARCH
IDE-BASED WEB SEARCH
 About 80% effort on Software Maintenance
 Bug fixation– error and exception handling
 Developers spend about 19% of time in web search
 Traditional web search
 Does not consider context of search (No ties between
IDE and web browser)
 Context-switching and distracting
 Time consuming
 Often not much productive
o IDE-Based context-aware search addresses
those issues.
EXISTING RELATED WORKS
 Cordeiro et al. (RSSE’ 2012)– Context-based
recommendation system
 Ponzanelli et al. (ICSE 2013)– Seahawk
 Poshyvanyk et al. (IWICSS 2007)– COTS (Google
Desktop) into Eclipse IDE
 Brandt et al. (SIGCHI 2010)– Integrating Google
web search into IDE
MOTIVATION EXPERIMENTS
Search
Query
Common
Results
Google Only Yahoo Only Bing
Only
Content Only 32 09 16 18
Content and
Context
47 09 11 10
 83 Exceptions
 Solutions found for at most 58 exceptions.
THE KEY IDEA !! META SEARCH ENGINE
PROPOSED IDE-BASED META SEARCH MODEL
PROPOSED IDE-BASED META SEARCH
MODEL
 Distinguished Features
 Meta search engine– captures data from multiple
search engines
 More precise context– both stack trace and associated
code as exception context
 Popularity and confidence of result links
 Complete web browsing experience within the IDE
PROPOSED METRICS & SCORES
 Title to title Matching Score (Stitle)– Cosine similarity
measurement
 Stack trace Matching Score (Sst)– SimHash based
similarity measurement
 Code context Matching Score (Scc)– SimHash
based similarity measurement
 StackOverflow Vote Score (Sso)– Summation of
differences between up and down votes for all
posts in the link
PROPOSED METRICS & SCORES
 Top Ten Score (Stt)– Position of result link in the top
10 of each provider.
 Page Rank Score (Spr)-- Relative popularity among
all links in the corpus using Page Rank algorithm.
 Site Traffic Rank Score (Sstr)-- Alexa and Compete
Rank of each link
 Search Engine weight (Ssew)---Relative reliability or
importance of each search engine. Experiments
with 75 programming queries against the search
engines.
METRICS NORMALIZATION
 Normalization applied to -- Sst , Scc , Sso , Stt , Spr
and Sstr
 Avoiding bias to any particular aspect
)min()max(
)min(
,
ii
ii
normalizedi
SS
SS
S



FINAL SCORE COMPONENTS
 Content Relevance
Scnt=Stitle
 Context Relevance
Scxt=(Sst + Scc)/2
 Link Popularity
Spop=(Sso +Spr + Sstr)/3
 Search Engine Confidence
Sser=(Ssew x Stt)
EXPERIMENT OVERVIEW
 25 Exceptions collected from Eclipse IDE
workspaces.
 Related to Eclipse plug-in framework and Java
Application Development
 Solutions chosen from exhaustive web search with
cross validations by peers
 Recommended results manually validated.
EXPERIMENTAL RESULTS
Score Top 10 Rank10 Top 20 Rank20
Scnt 10 3.60 16 8.63
Scnt, Scxt 11 3.00 16 7.43
Scnt, Spop 13 4.69 18 8.11
Scnt, Sser 23 4.39 23 4.39
Scnt, Scxt, Spop 13 4.07 18 7.61
Scnt, Scxt, Sser 24 4.45 24 4.45
Scnt, Scxt, Sser, Spop 23 4.26 24 4.54
Top10: No. of test cases solved when the top 10 results
considered
Rank10: Average rank of solutions when the top 10 results considered
USER STUDY
 Five interesting exception test cases.
 Five CS graduates research students as
participants.
 Top 10 results from SurfClipse randomly presented
to the participants.
 To avoid the bias of choosing top rated solutions.
 64.28% agreement found.
USER STUDY RESULTS
Question ID ANSR ANSM Agreement
Q1 2.8 2.0 71.43%
Q2 4.6 2.8 60.87%
Q3 4.6 2.4 52.17%
Q4 4.2 3.0 71.43%
Q5 5.8 3.8 65.52%
Overall 4.4 2.8 64.28%
ANSR: Avg. no. of solutions recommended by the participants.
ANSM: Avg. no. of solution matched with that by our approach.
Agreement: % of agreement between solutions.
THREATS TO VALIDITY
 Search is not real time yet.
 Different aspects need different weights.
LATEST UPDATES
 A Distributed model for IDE-Based web search–
client-server architecture, remotely hosted web
service
 Parallel processing in computation
 Two modes of operations– proactive and interactive
 Granular refinement of metrics and assigning
relative weights (i.e., importance)
 Complete IDE-based web search solution.
CONCLUSION & FUTURE WORKS
 A novel IDE-Based search with meta search
capabilities
 Exploits existing search service providers
 Considers content, context, popularity and
search engine confidence of a result.
 Recommends correct solution for 24(96%) out of 25
test cases.
 64.28% agreement in user study.
 Needs more extended experiments and user study.
 Metrics need to be fine-tuned and more granulated.
THANK YOU !!!

Mais conteúdo relacionado

Destaque

Matematika itu mudah dan menyenangkan
Matematika itu mudah dan menyenangkanMatematika itu mudah dan menyenangkan
Matematika itu mudah dan menyenangkanMela Azizah
 
Monitoreo sistemático de opinión pública - Total país
Monitoreo sistemático de opinión pública - Total país Monitoreo sistemático de opinión pública - Total país
Monitoreo sistemático de opinión pública - Total país Eduardo Nelson German
 
14. Salmo 14 Sión cambia tu corazón
14.  Salmo 14 Sión cambia tu corazón14.  Salmo 14 Sión cambia tu corazón
14. Salmo 14 Sión cambia tu corazónComparte la Biblia
 
MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017
MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017
MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017RIDER COLLECTION
 
La devaluación pegó fuerte en el consumo, pero podría ser peor
La devaluación pegó fuerte en el consumo, pero podría ser peorLa devaluación pegó fuerte en el consumo, pero podría ser peor
La devaluación pegó fuerte en el consumo, pero podría ser peorEduardo Nelson German
 
Examen informática
Examen informáticaExamen informática
Examen informáticaNiieves_07
 
Ejercicio exel
Ejercicio exel Ejercicio exel
Ejercicio exel Niieves_07
 
香港六合彩
香港六合彩香港六合彩
香港六合彩yahooou
 
香港六合彩
香港六合彩香港六合彩
香港六合彩yahooou
 
15. Salmo 15 Requisitos para ser elegido (Serie 2015)
15.  Salmo 15 Requisitos para ser elegido (Serie 2015)15.  Salmo 15 Requisitos para ser elegido (Serie 2015)
15. Salmo 15 Requisitos para ser elegido (Serie 2015)Comparte la Biblia
 
Encuesta. Defina con una palabra a Cristina Kirchner
Encuesta. Defina con una palabra a Cristina KirchnerEncuesta. Defina con una palabra a Cristina Kirchner
Encuesta. Defina con una palabra a Cristina KirchnerEduardo Nelson German
 
18. salmo 18 la convicción de salvación
18.  salmo 18 la convicción de salvación18.  salmo 18 la convicción de salvación
18. salmo 18 la convicción de salvaciónComparte la Biblia
 
Module 1 introduction and objectives presentation
Module 1 introduction and objectives presentationModule 1 introduction and objectives presentation
Module 1 introduction and objectives presentationIRC
 
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...IT Arena
 
Customer Relationship Management !!! CRM
Customer Relationship Management !!! CRMCustomer Relationship Management !!! CRM
Customer Relationship Management !!! CRMPrateek Bhargava
 

Destaque (20)

Matematika itu mudah dan menyenangkan
Matematika itu mudah dan menyenangkanMatematika itu mudah dan menyenangkan
Matematika itu mudah dan menyenangkan
 
Monitoreo sistemático de opinión pública - Total país
Monitoreo sistemático de opinión pública - Total país Monitoreo sistemático de opinión pública - Total país
Monitoreo sistemático de opinión pública - Total país
 
Feliz Ano Novo
Feliz Ano NovoFeliz Ano Novo
Feliz Ano Novo
 
14. Salmo 14 Sión cambia tu corazón
14.  Salmo 14 Sión cambia tu corazón14.  Salmo 14 Sión cambia tu corazón
14. Salmo 14 Sión cambia tu corazón
 
MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017
MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017
MOUNTAIN HORSE TABLA MEDIDAS BOTAS 2017
 
La devaluación pegó fuerte en el consumo, pero podría ser peor
La devaluación pegó fuerte en el consumo, pero podría ser peorLa devaluación pegó fuerte en el consumo, pero podría ser peor
La devaluación pegó fuerte en el consumo, pero podría ser peor
 
LeMIeux
LeMIeuxLeMIeux
LeMIeux
 
Examen informática
Examen informáticaExamen informática
Examen informática
 
Ejercicio exel
Ejercicio exel Ejercicio exel
Ejercicio exel
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
J'son & Partners Clouds Definitions
J'son & Partners Clouds DefinitionsJ'son & Partners Clouds Definitions
J'son & Partners Clouds Definitions
 
15. Salmo 15 Requisitos para ser elegido (Serie 2015)
15.  Salmo 15 Requisitos para ser elegido (Serie 2015)15.  Salmo 15 Requisitos para ser elegido (Serie 2015)
15. Salmo 15 Requisitos para ser elegido (Serie 2015)
 
Encuesta. Defina con una palabra a Cristina Kirchner
Encuesta. Defina con una palabra a Cristina KirchnerEncuesta. Defina con una palabra a Cristina Kirchner
Encuesta. Defina con una palabra a Cristina Kirchner
 
18. salmo 18 la convicción de salvación
18.  salmo 18 la convicción de salvación18.  salmo 18 la convicción de salvación
18. salmo 18 la convicción de salvación
 
Module 1 introduction and objectives presentation
Module 1 introduction and objectives presentationModule 1 introduction and objectives presentation
Module 1 introduction and objectives presentation
 
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
Bringing New Experience with Openstack and Fuel (Ihor Dvoretskyi, Oleksandr M...
 
ManpraX Hiring principles
ManpraX Hiring principlesManpraX Hiring principles
ManpraX Hiring principles
 
Project Management !!!
Project Management !!! Project Management !!!
Project Management !!!
 
Customer Relationship Management !!! CRM
Customer Relationship Management !!! CRMCustomer Relationship Management !!! CRM
Customer Relationship Management !!! CRM
 

Semelhante a SurfClipse-- An IDE based context-aware Meta Search Engine (ERA Track)

SurfClipse-- An IDE based context-aware Meta Search Engine
SurfClipse-- An IDE based context-aware Meta Search EngineSurfClipse-- An IDE based context-aware Meta Search Engine
SurfClipse-- An IDE based context-aware Meta Search EngineMasud Rahman
 
R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...
R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...
R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...BAINIDA
 
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Axel Reichwein
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year JourneyLionel Briand
 
CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016Masud Rahman
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Spark Summit
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)Steve Feldman
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingSteve Feldman
 
Question Answering System using machine learning approach
Question Answering System using machine learning approachQuestion Answering System using machine learning approach
Question Answering System using machine learning approachGarima Nanda
 
Web-Based System for Software Requirements Quality Analysis Using Case-Based ...
Web-Based System for Software Requirements Quality Analysis Using Case-Based ...Web-Based System for Software Requirements Quality Analysis Using Case-Based ...
Web-Based System for Software Requirements Quality Analysis Using Case-Based ...IOSR Journals
 
Prov4J: A Semantic Web Framework for Generic Provenance Management
Prov4J: A Semantic Web Framework for Generic Provenance Management Prov4J: A Semantic Web Framework for Generic Provenance Management
Prov4J: A Semantic Web Framework for Generic Provenance Management Andre Freitas
 
Final Presentation V3
Final Presentation V3Final Presentation V3
Final Presentation V3weichen
 
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...Daniel Valcarce
 
Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...
Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...
Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...JeffCarver32
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Tao Xie
 
towards a model-based framework for development of engineering1 (1)
towards a model-based framework for development of engineering1 (1)towards a model-based framework for development of engineering1 (1)
towards a model-based framework for development of engineering1 (1)Jinzhi Lu
 
Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011Scott Althouse
 
Exploiting Context in Dealing with Programming Errors and Exceptions
Exploiting Context in Dealing with Programming Errors and ExceptionsExploiting Context in Dealing with Programming Errors and Exceptions
Exploiting Context in Dealing with Programming Errors and ExceptionsMasud Rahman
 

Semelhante a SurfClipse-- An IDE based context-aware Meta Search Engine (ERA Track) (20)

SurfClipse-- An IDE based context-aware Meta Search Engine
SurfClipse-- An IDE based context-aware Meta Search EngineSurfClipse-- An IDE based context-aware Meta Search Engine
SurfClipse-- An IDE based context-aware Meta Search Engine
 
R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...
R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...
R Tool for Visual Studio และการทำงานร่วมกันเป็นทีม โดย เฉลิมวงศ์ วิจิตรปิยะกุ...
 
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year Journey
 
CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016CORRECT-ToolDemo-ASE2016
CORRECT-ToolDemo-ASE2016
 
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
Clipper: A Low-Latency Online Prediction Serving System: Spark Summit East ta...
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
 
B2 2006 sizing_benchmarking
B2 2006 sizing_benchmarkingB2 2006 sizing_benchmarking
B2 2006 sizing_benchmarking
 
Question Answering System using machine learning approach
Question Answering System using machine learning approachQuestion Answering System using machine learning approach
Question Answering System using machine learning approach
 
Web-Based System for Software Requirements Quality Analysis Using Case-Based ...
Web-Based System for Software Requirements Quality Analysis Using Case-Based ...Web-Based System for Software Requirements Quality Analysis Using Case-Based ...
Web-Based System for Software Requirements Quality Analysis Using Case-Based ...
 
Prov4J: A Semantic Web Framework for Generic Provenance Management
Prov4J: A Semantic Web Framework for Generic Provenance Management Prov4J: A Semantic Web Framework for Generic Provenance Management
Prov4J: A Semantic Web Framework for Generic Provenance Management
 
Final Presentation V3
Final Presentation V3Final Presentation V3
Final Presentation V3
 
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
When Recommenders Met Big Data: an Architectural Proposal and Evaluation [CER...
 
Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...
Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...
Process Aspects and Social Dynamics of Contemporary Code Review: Insights fro...
 
Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...Intelligent Software Engineering: Synergy between AI and Software Engineering...
Intelligent Software Engineering: Synergy between AI and Software Engineering...
 
towards a model-based framework for development of engineering1 (1)
towards a model-based framework for development of engineering1 (1)towards a model-based framework for development of engineering1 (1)
towards a model-based framework for development of engineering1 (1)
 
50120130406017
5012013040601750120130406017
50120130406017
 
Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011Saving resources with simulation webinar 092011
Saving resources with simulation webinar 092011
 
Exploiting Context in Dealing with Programming Errors and Exceptions
Exploiting Context in Dealing with Programming Errors and ExceptionsExploiting Context in Dealing with Programming Errors and Exceptions
Exploiting Context in Dealing with Programming Errors and Exceptions
 

Mais de Masud Rahman

HereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie UniversityHereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie UniversityMasud Rahman
 
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...Masud Rahman
 
PhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of SaskatchewanPhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of SaskatchewanMasud Rahman
 
PhD proposal of Masud Rahman
PhD proposal of Masud RahmanPhD proposal of Masud Rahman
PhD proposal of Masud RahmanMasud Rahman
 
PhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud RahmanPhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud RahmanMasud Rahman
 
Doctoral Symposium of Masud Rahman
Doctoral Symposium of Masud RahmanDoctoral Symposium of Masud Rahman
Doctoral Symposium of Masud RahmanMasud Rahman
 
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...Masud Rahman
 
ICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationMasud Rahman
 
CodeInsight-SCAM2015
CodeInsight-SCAM2015CodeInsight-SCAM2015
CodeInsight-SCAM2015Masud Rahman
 
RACK-Tool-ICSE2017
RACK-Tool-ICSE2017RACK-Tool-ICSE2017
RACK-Tool-ICSE2017Masud Rahman
 
QUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-SingaporeQUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-SingaporeMasud Rahman
 

Mais de Masud Rahman (20)

HereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie UniversityHereWeCode 2022: Dalhousie University
HereWeCode 2022: Dalhousie University
 
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
The Forgotten Role of Search Queries in IR-based Bug Localization: An Empiric...
 
PhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of SaskatchewanPhD Seminar - Masud Rahman, University of Saskatchewan
PhD Seminar - Masud Rahman, University of Saskatchewan
 
PhD proposal of Masud Rahman
PhD proposal of Masud RahmanPhD proposal of Masud Rahman
PhD proposal of Masud Rahman
 
PhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud RahmanPhD Comprehensive exam of Masud Rahman
PhD Comprehensive exam of Masud Rahman
 
Doctoral Symposium of Masud Rahman
Doctoral Symposium of Masud RahmanDoctoral Symposium of Masud Rahman
Doctoral Symposium of Masud Rahman
 
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
Supporting Source Code Search with Context-Aware and Semantics-Driven Code Se...
 
ICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-Localization
 
MSR2017-Challenge
MSR2017-ChallengeMSR2017-Challenge
MSR2017-Challenge
 
MSR2017-RevHelper
MSR2017-RevHelperMSR2017-RevHelper
MSR2017-RevHelper
 
STRICT-SANER2017
STRICT-SANER2017STRICT-SANER2017
STRICT-SANER2017
 
MSR2015-Challenge
MSR2015-ChallengeMSR2015-Challenge
MSR2015-Challenge
 
MSR2014-Challenge
MSR2014-ChallengeMSR2014-Challenge
MSR2014-Challenge
 
CodeInsight-SCAM2015
CodeInsight-SCAM2015CodeInsight-SCAM2015
CodeInsight-SCAM2015
 
STRICT-SANER2015
STRICT-SANER2015STRICT-SANER2015
STRICT-SANER2015
 
CMPT-842-BRACK
CMPT-842-BRACKCMPT-842-BRACK
CMPT-842-BRACK
 
RACK-Tool-ICSE2017
RACK-Tool-ICSE2017RACK-Tool-ICSE2017
RACK-Tool-ICSE2017
 
RACK-SANER2016
RACK-SANER2016RACK-SANER2016
RACK-SANER2016
 
QUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-SingaporeQUICKAR-ASE2016-Singapore
QUICKAR-ASE2016-Singapore
 
CORRECT-ICSE2016
CORRECT-ICSE2016CORRECT-ICSE2016
CORRECT-ICSE2016
 

Último

Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin ClassesCeline George
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 

Último (20)

Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 

SurfClipse-- An IDE based context-aware Meta Search Engine (ERA Track)

  • 1. AN IDE-BASED CONTEXT-AWARE META SEARCH ENGINE Mohammad Masudur Rahman, Shamima Yeasmin, and Chanchal K. Roy Department of Computer Science University of Saskatchewan 20th Working Conference on Reverse Engineering (WCRE 2013), Koblenz, Germany
  • 6. IDE-BASED WEB SEARCH  About 80% effort on Software Maintenance  Bug fixation– error and exception handling  Developers spend about 19% of time in web search  Traditional web search  Does not consider context of search (No ties between IDE and web browser)  Context-switching and distracting  Time consuming  Often not much productive o IDE-Based context-aware search addresses those issues.
  • 7. EXISTING RELATED WORKS  Cordeiro et al. (RSSE’ 2012)– Context-based recommendation system  Ponzanelli et al. (ICSE 2013)– Seahawk  Poshyvanyk et al. (IWICSS 2007)– COTS (Google Desktop) into Eclipse IDE  Brandt et al. (SIGCHI 2010)– Integrating Google web search into IDE
  • 8. MOTIVATION EXPERIMENTS Search Query Common Results Google Only Yahoo Only Bing Only Content Only 32 09 16 18 Content and Context 47 09 11 10  83 Exceptions  Solutions found for at most 58 exceptions.
  • 9. THE KEY IDEA !! META SEARCH ENGINE
  • 10. PROPOSED IDE-BASED META SEARCH MODEL
  • 11. PROPOSED IDE-BASED META SEARCH MODEL  Distinguished Features  Meta search engine– captures data from multiple search engines  More precise context– both stack trace and associated code as exception context  Popularity and confidence of result links  Complete web browsing experience within the IDE
  • 12. PROPOSED METRICS & SCORES  Title to title Matching Score (Stitle)– Cosine similarity measurement  Stack trace Matching Score (Sst)– SimHash based similarity measurement  Code context Matching Score (Scc)– SimHash based similarity measurement  StackOverflow Vote Score (Sso)– Summation of differences between up and down votes for all posts in the link
  • 13. PROPOSED METRICS & SCORES  Top Ten Score (Stt)– Position of result link in the top 10 of each provider.  Page Rank Score (Spr)-- Relative popularity among all links in the corpus using Page Rank algorithm.  Site Traffic Rank Score (Sstr)-- Alexa and Compete Rank of each link  Search Engine weight (Ssew)---Relative reliability or importance of each search engine. Experiments with 75 programming queries against the search engines.
  • 14. METRICS NORMALIZATION  Normalization applied to -- Sst , Scc , Sso , Stt , Spr and Sstr  Avoiding bias to any particular aspect )min()max( )min( , ii ii normalizedi SS SS S   
  • 15. FINAL SCORE COMPONENTS  Content Relevance Scnt=Stitle  Context Relevance Scxt=(Sst + Scc)/2  Link Popularity Spop=(Sso +Spr + Sstr)/3  Search Engine Confidence Sser=(Ssew x Stt)
  • 16. EXPERIMENT OVERVIEW  25 Exceptions collected from Eclipse IDE workspaces.  Related to Eclipse plug-in framework and Java Application Development  Solutions chosen from exhaustive web search with cross validations by peers  Recommended results manually validated.
  • 17. EXPERIMENTAL RESULTS Score Top 10 Rank10 Top 20 Rank20 Scnt 10 3.60 16 8.63 Scnt, Scxt 11 3.00 16 7.43 Scnt, Spop 13 4.69 18 8.11 Scnt, Sser 23 4.39 23 4.39 Scnt, Scxt, Spop 13 4.07 18 7.61 Scnt, Scxt, Sser 24 4.45 24 4.45 Scnt, Scxt, Sser, Spop 23 4.26 24 4.54 Top10: No. of test cases solved when the top 10 results considered Rank10: Average rank of solutions when the top 10 results considered
  • 18. USER STUDY  Five interesting exception test cases.  Five CS graduates research students as participants.  Top 10 results from SurfClipse randomly presented to the participants.  To avoid the bias of choosing top rated solutions.  64.28% agreement found.
  • 19. USER STUDY RESULTS Question ID ANSR ANSM Agreement Q1 2.8 2.0 71.43% Q2 4.6 2.8 60.87% Q3 4.6 2.4 52.17% Q4 4.2 3.0 71.43% Q5 5.8 3.8 65.52% Overall 4.4 2.8 64.28% ANSR: Avg. no. of solutions recommended by the participants. ANSM: Avg. no. of solution matched with that by our approach. Agreement: % of agreement between solutions.
  • 20. THREATS TO VALIDITY  Search is not real time yet.  Different aspects need different weights.
  • 21. LATEST UPDATES  A Distributed model for IDE-Based web search– client-server architecture, remotely hosted web service  Parallel processing in computation  Two modes of operations– proactive and interactive  Granular refinement of metrics and assigning relative weights (i.e., importance)  Complete IDE-based web search solution.
  • 22. CONCLUSION & FUTURE WORKS  A novel IDE-Based search with meta search capabilities  Exploits existing search service providers  Considers content, context, popularity and search engine confidence of a result.  Recommends correct solution for 24(96%) out of 25 test cases.  64.28% agreement in user study.  Needs more extended experiments and user study.  Metrics need to be fine-tuned and more granulated.

Notas do Editor

  1. Good Morning everyone  I am Masudur Rahman from University of Saskatchewan. Welcome to my presentation. Here, I am going to present our paper titled as “An IDE-Based Context-Aware Meta Search Engine” Basically, here, we proposed an IDE-Based recommendation system that works like a meta search engine, that means, it captures results from multiple search engines against a selected exception, and then analyze them to produce a better and context-relevant result set.
  2. Study shows that about 50%-80% effort is spent on software maintenance, And one of major concern during maintenance is bug fixation. Software bugs are generally associated with runtime different errors and exceptions. To deal with that errors and exceptions, developers spend a lot of time, its about 19% of their programming time. Why? Its because of the traditional web search which has no ties with the IDE. It does not consider the context of the problem developer is facing and developer has to include the context information into the search query, which is challenging, because which term is more important than others is not clear; so, basically, this is a trial and error approach for the developer which is time-consuming. Besides, the switching between IDE and the web browser is often not very interesting if you are trying to concentrate on a problem in the IDE. So, what is the solution??? IDE-based search engine, and it has to consider the problem context of course.
  3. There are some existing studies that try to address the issues of traditional web search. However, they are basically based on StackOverflow, for example the first two works. StackOverflow is a big source of information and recently it has 1.9 million users with 12 million posts; However, we cannot ignore the whole web for information, and that is why our approach comes into play. The rest two works basically tries to integrate Google desktop search and Google web search in the IDE; However, we are interested to exploit multiple search engines to get more confident set of results for the developer. The baseline idea is to leverage the existing resources for solving technical challenges in a smart way.
  4. This is our proposed meta search model for IDE-based recommendation. It has tow modules: Client module Computation module. Once the developer selects an exception from Error log or console view, the client module captures the error message, stack trace and the context code likely responsible for exception and sends to the computation module. Upon getting the search request, the computation module sends the error message to multiple search engines. We use Google, Bing, Yahoo and the StackOverflow API to collect results and use them to develop the corpus. Once the corpus is developed, we apply our proposed metrics and algorithms to produce a result set that is relevant to the encountered exception. Now lets assume, what the traditional search engines do? Do they consider context? No. It’s the developer who has to represent the context besides the error message in the search query.
  5. So, basically, we are providing four interesting and essential things in this model. It exploits the idea of meta search. Why meta search? Lets discuss in the Q/A session. We are considering more precise context: both stack trace and context code. We are also considering popularity and confidence of a result link. And the developer can readily browse the web link recommended with in IDE.
  6. These are metrics we consider to determine the relevance of a result page against the query exception. Please note that we collected the exception message and exception context in the form of stack trace and context code during search request. So, title to tile matching basically tries to determine the content similarity between exception message and the result page title. We use cosine similarity measurement for that. Then comes the context information. We did HTML scraping and extract the content from different tags like pre, code, blockquote as they are likely to contain the context information about the discussed problems in the page. Once extracted, we use SimHash based similarity to determine the relevance of the discussed problem with the query exception. SimHash basically produces a Hash value for a block of content, and if the hash value of two blocks are closer, they are considered similar. We use this metric for both stack trace and context code matching.
  7. We also consider other metrics like Top ten score – it marks if a result is found within the top 10 results of any search engine. Page Rank score – we develop a artificial network among the result links in the corpus to determine their relative importance using PageRank algorithm. Site Traffic Rank score – we collect Alexa rank for each result link. Search engine weight– we calculate the support for each result from the search engines.
  8. For most of the metrics We use this formula to perform the normalization if it is not already normalized.
  9. So, we have got different perspectives of each result link And now, we use those perspectives to determine different types of scores. We get: Content-relevance Context-relevance Popularity and Search engine confidence for each result. Then, we give all of them equal share in the final score, and now we are working on their relative weights.
  10. We design a limited experiment with 25 exceptions related to Eclipse plug-in framework And we got interesting results.
  11. Here, we decompose different component scores and show how much effective they are in recommendation. We collect the top 10 and top 20 results and found that our algorithm can recommend up to 24 exceptions. More interestingly, solutions are found within the top 5 positions mostly.
  12. We also try to test the recommendations through a user study, because, the approach is all about the users benefit. So, we collect the top 10 recommended results for five exceptions and present the results to the participants in a randomized order. The idea is to check how developers apply their sense of relevance.
  13. Here, we got 64.28% agreement between our results and their confirmation. Basically, what we did is– we tried to map their selection to the top 5 results of each exception and found that agreement. We also noticed that the result which they mark as relevant are found mostly in the top 5 results of our recommendation. So, it shows that the tool is working quite accurately in relevance computation as an initial attempt. However, it requires more extended experiment and extended user study to claim something solid.
  14. Here are some latest updates about what we did by this time: We applied parallel processing in the computation model to make it work faster. Present version is quite slower and not like real time. We implemented a client-server architecture for this search so that it can be platform-independent and any IDE can leverage the search as a web service We implemented two modes of operation– proactive and interactive, where the proactive version automatically triggers upon an exception. We did more analysis with the metrics and scores.
  15. To summarize, We proposed a novel IDE-based search approach that exploits problem context and collects results from a meta search engine. Our preliminary experiments show some interesting results. However, of course the idea needs to be further experimented and tested to discover its potential which is our future work And we are working on that.
  16. So, that’s all about my talk. Thanks to all for your time. Questions ??