Free HTML5 by July 30, 2016

Searching Crowd Knowledge to Recommend Solutions for API Usage Tasks

Stack Overflow (SO) is a question and answer service directed to issues related to software development. In SO, developers post questions related to a programming topic and other members of the site can provide answers to help them. The information available on this type of service is also known as "crowd knowledge" and currently is one important trend in supporting activities related to software development.

We present an approach that makes use of "crowd knowledge" in SO to recommend information that can assist developer activities. This strategy recommends a ranked list of question and answer pairs from SO based on a query. The criteria for ranking are based on three main aspects: the textual similarity of the pairs with respect to the query related to the developer's problem, the quality of the pairs, and a filtering mechanism that considers only "how-to" posts.

We conducted an experiment considering programming problems on three different topics (Swing, Boost and LINQ) widely used by the software development community to evaluate the proposed recommendation strategy. The results have shown that for Lucene+Score+How-to approach, 77.14% of the assessed activities have at least one recommended pair proved to be useful concerning the target programming problem.