RAISEDAL / RAISEReadingList

This repository contains a reading list of Software Engineering papers and articles!
0 stars 0 forks source link

Paper Review: RACK: Automatic API Recommendation using Crowdsourced Knowledge #48

Open shihuiMaxine opened 2 years ago

shihuiMaxine commented 2 years ago

Publisher

Shihui Gao

Link to The Paper

https://web.cs.dal.ca/~masud/papers/masud-SANER2016.pdf

Name of The Authors

Mohammad Masudur Rahman, Chanchal K. Roy and David Lo

Year of Publication

2016

Summary

In this paper, the authors proposed a new API recommendation technique–RACK that recommends a list of relevant APIs by using natural language to search code by keyword-API associations (KAC (Keyword-API Co-occurrence) and KKC (Keyword-Keyword Coherence)) from the crowdsourced knowledge. For example, we type “Generating MD5 hash of a Java string.” in the search engine. We can get answers that include gentinstance(“MD5”). Compared to Traditional code search engines, Rack has higher Top-K accuracy, more mean average precision and more mean recall. RACK can recommend relevant APIs with about 79% Top-10 accuracy, about 35% mean average precision(@k=10) and about 45% mean recall(@k=10) .

Limitations:

  1. RACK may introduce more subjective biased human judgments about API relevance.

  2. RACK may only work for recommending popular and commonly used API.

  3. RACK may incorrectly consider third-party API similar to Java API classes.

Contributions of The Paper

  1. Proposed a new API recommendation technique–RACK that uses natural language to search code by ranked keyword-API associations.

  2. Prove the effectiveness of RACK with Top-K precision, mean average precision, and mean recall

  3. RACK can be easily adapted for API recommendation in different programming areas.

Comments

The paper uses questions and figures to illustrate the main points, which makes it easier for readers to understand.