230 likes | 355 Views
20 th Working Conference on Reverse Engineering (WCRE 2013), Koblenz, Germany. An IDE-Based Context-Aware Meta Search Engine. Mohammad Masudur Rahman , Shamima Yeasmin, and Chanchal K. Roy Department of Computer Science University of Saskatchewan. Software Maintenance, Bugs & Exceptions.
E N D
20th Working Conference on Reverse Engineering (WCRE 2013), Koblenz, Germany An IDE-Based Context-Aware Meta Search Engine Mohammad Masudur Rahman, Shamima Yeasmin, and Chanchal K. Roy Department of Computer Science University of Saskatchewan
Software Maintenance, Bugs & Exceptions Very Common Event!!
Exception Handling: Web Search Class can not access a member of class java.util.HashMap$HashIterator with modifiers "public final”
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 • 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 • 83 Exceptions • Solutions found for at most 58 exceptions.
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
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 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 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.