Abstract: Software developers often search for relevant information in the web in order to solve their encountered programming errors and exceptions. While collecting information using search engines, they face different practical challenges, and one of them is-- choosing an appropriate search query for an error or exception. In this paper, we propose a novel search query recommendation approach for errors and exceptions that analyzes exception details (e.g., exception message, stack traces) and context code of the encountered exception, and recommends a ranked list of search queries. We conduct experiments on the proposed approach using 50 exceptions and associated details (e.g., stack traces, context code), and collect results from three popular search engines (Google, Yahoo and Bing) against the recommended queries. The queries return results with a mean average precision of 55.31% and a recall of 35.23%, and the results solve 80% of the exceptions, which are promising. The experiments followed by a user study also show that the recommended queries by our approach are more effective than traditional queries and queries from three existing approaches in terms of precision, recall, percentage of exceptions solved and pyramid score.

System Requirements

  • Required JDK: JDK 7.0.21 and later. (This is a must)
  • Supported OS: Windows 7+, Ubuntu Linux 12+, did not test with Mac OSX 10, but should work if JDK specification is met
  • Supported Eclipse IDE: Indigo 3.7+, Juno 4.2+, Kepler 4.3+ (This is a must)
So far, I tested with those configurations, but other versions are likely to support if JDK 7.0.21+ installed and Eclipse IDE is of upper versions.

Important Resource Links

Related Papers

  • M. Masudur Rahman and C.K. Roy, "SurfClipse: Context-Aware Meta Search in the IDE", In Proceeding of The 30th International Conference on Software Maintenance and Evolution (Tool Demo Track) (ICSME 2014), pp. 617--620, Victoria, Canada, September 2014.
author={M. M. Rahman and C. K. Roy}, 
booktitle={Proc. ICSME}, 
title={SurfClipse: Context-Aware Meta-search in the IDE}, 
pages={617-620} } 

← Check out other tools by Masud Rahman

© Masud Rahman, Computer Science, University of Saskatchewan, Canada.