ARIST: An Effective API Argument Recommendation Approach
Son Nguyen, Cuong Tran Manh, Kien T. Tran, Tan M. Nguyen, Thu-Trang, Nguyen, Kien-Tuan Ngo, Hieu Dinh Vo

TL;DR
ARIST is a novel approach that combines program analysis and language models to accurately recommend API arguments, significantly improving developer support in API usage across various scenarios.
Contribution
ARIST introduces a new method integrating program analysis and language models for API argument recommendation, outperforming existing techniques in accuracy and applicability.
Findings
Improves top-1 precision and recall by 19% and 18% for frequent library arguments.
Outperforms baseline methods by up to 125% in general argument recommendation accuracy.
Achieves over 60% top-3 accuracy for new projects, aiding developers effectively.
Abstract
Learning and remembering to use APIs are difficult. Several techniques have been proposed to assist developers in using APIs. Most existing techniques focus on recommending the right API methods to call, but very few techniques focus on recommending API arguments. In this paper, we propose ARIST, a novel automated argument recommendation approach which suggests arguments by predicting developers' expectations when they define and use API methods. To implement this idea in the recommendation process, ARIST combines program analysis (PA), language models (LMs), and several features specialized for the recommendation task which consider the functionality of formal parameters and the positional information of code elements (e.g., variables or method calls) in the given context. In ARIST, the LMs and the recommending features are used to suggest the promising candidates identified by PA.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Engineering Techniques and Practices · Advanced Software Engineering Methodologies
MethodsFocus
