14
SURFCLIPSE: CONTEXT-AWARE META SEARCH IN THE IDE Mohammad Masudur Rahman , Chanhcal K. Roy Department of Computer Science University of Saskatchewan International Conference on Software Maintenance and Evolution (ICSME 2014), Victoria, Canada

SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

Embed Size (px)

Citation preview

Page 1: 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

Page 2: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

2

Software R

esearch Lab, U of SException: a common experience!!

Exception triggering point

Page 3: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

3

Software R

esearch Lab, U of S

EXCEPTION DEBUGGING

Not a helpful message for understanding or solving the

exception

Web search!!

Page 4: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

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

Page 5: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

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

Page 6: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

6

SURFCLIPSE: IDE-BASED CONTEXT-AWARE META SEARCH ENGINE

Page 7: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

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

Page 8: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

8

Software R

esearch Lab, U of S

PROPOSED IDE-BASED META SEARCH MODEL

Start

Results

Web page

Page 9: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

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/

Page 10: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

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

Page 11: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

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.

Page 12: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

12

SURFCLIPSE TOOL DEMO

Page 13: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

13

THANK YOU !! QUESTIONS?

Page 14: SurfClipse-- An IDE based context-aware Meta Search Engine (Tool Demo)

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.