SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)
-
Upload
masud-rahman -
Category
Education
-
view
153 -
download
1
Transcript of SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)
SURFCLIPSE: CONTEXT-AWARE META SEARCH IN THE IDEMohammad Masudur Rahman, Chanhcal K. RoyDepartment of Computer ScienceUniversity of Saskatchewan
International Conference on Software Maintenance and Evolution (ICSME 2014), Victoria, Canada
2
Software R
esearch Lab, U of SException: a common experience!!
Exception triggering point
3
Software R
esearch Lab, U of S
EXCEPTION DEBUGGING
Not a helpful message for understanding or solving the
exception
Web search!!
4
Software R
esearch Lab, U of S
SOLVING EXCEPTION (STEP I: QUERY SELECTION)
Selection of traditional search query
Switching to web browser for web search
This query may not be sufficient enough for most of the exceptions
5
Software R
esearch Lab, U of S
SOLVING EXCEPTION (STEP II: WEB SEARCH)
The browser does not know the context (i.e., details) of the exception.
Not much helpful ranking Hundreds of search results Forces the developer to switch back and forth
between IDE and browser. Trial and error in searching
Switching is often
distracting
6
SURFCLIPSE: IDE-BASED CONTEXT-AWARE META SEARCH ENGINE
7
Software R
esearch Lab, U of S
TECHNICAL DETAILS & PROGRAMMING CONTEXT OF AN EXCEPTION
Programming context (i.e., context code)
Error message
Stack trace
1
2
3
8
Software R
esearch Lab, U of S
PROPOSED IDE-BASED META SEARCH MODEL
Start
Results
Web page
9
Software R
esearch Lab, U of S
PROPOSED IDE-BASED META SEARCH MODEL Distinguished Features (5)
IDE-Based solution Web search, search result and web browsing all from IDE No context-switching needed
Meta search engine Captures data from multiple search engines Also applies custom ranking techniques
Context-Aware search Uses stack traces information Uses context-code (surroundings of exception locations)
Software As A Service (SAAS) Search is provided as a web service, and can be leveraged
by an IDE. http://srlabg53-2.usask.ca/wssurfclipse/
10
Software R
esearch Lab, U of S
PROPOSED IDE-BASED META SEARCH MODEL Two Working Modes Proactive Mode
Auto-detects the occurrence of an exception Initiates search for exception by client itself Aligned with Cordeiro et al. (RSSE’ 2012) & Ponzanelli et
al. (ICSE 2013) Interactive Mode
Developer starts search using context menu Also facilitates keyword-based search Aligned with traditional web search within the IDE
11
CONCLUSION & FUTURE WORK SurfClipse – context-aware meta search
engine IDE-based complete web search solution Outperforms two relevant existing approaches More recall than three search engines with
precision comparable to Google, the best performing engine.
SurfClipse – DOM-based element extraction & topic modeling.
Extensive parallelization to make result real time.
Adaptation for other languages support exception handling: C#, PHP, Javascript and so on.
12
SURFCLIPSE TOOL DEMO
13
THANK YOU !! QUESTIONS?
14
REFERENCES[1] J. Cordeiro, B. Antunes, and P. Gomes. Context-based Recommendation
to Support Problem Solving in Software Development. In Proc. RSSE, pages 85 –89, June 2012.
[2] L. Ponzanelli, A. Bacchelli, and M. Lanza. Seahawk: Stack Overflow in the IDE. In Proc. ICSE, pages 1295–1298, 2013
[3] J. Brandt, P. J. Guo, J. Lewenstein, M. Dontcheva, and S. R. Klemmer. Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code. In Proc. SIGCHI, pages 1589–1598, 2009.
[4] S. Haiduc, J. Aponte, and A. Marcus. Supporting Program Comprehension with Source Code Summarization. In Proc. ICSE, pages 223–226, 2010
[5] M. M. Rahman, S. Yeasmin, and C. Roy. Towards a Context-Aware Meta Search Engine for IDE-Based Recommendation about Programming Errors and Exceptions. In Proc. CSMR-WCRE, pages 194–203, 2014.