Tail-aware N-version Machine Learning Models for Reliable API Recommendation
Aoi Matsuda, Fumio Machida, David Lo

TL;DR
This paper introduces NvRec, a multi-model API recommendation system that improves reliability by filtering out tail API suggestions, demonstrating high true accept rates and balanced rejection rates on Java datasets.
Contribution
The paper proposes NvRec, a novel multi-model framework that enhances API recommendation reliability by profiling and filtering tail API outputs during inference.
Findings
Five-model NvRec achieves 83.1% true accept rate.
Three-model NvRec reaches 83.8% true accept rate with high reliability.
NvRec balances true accept and rejection rates effectively.
Abstract
Machine learning (ML)-based API recommendation helps developers efficiently identify suitable APIs to complement the application code. However, code datasets used to train ML models often exhibit a long-tail distribution, leading to unreliable API recommendations, especially for infrequently used API methods at the tail of the distribution. To address this issue, we propose N-version API Recommendation (NvRec), which leverages N different versions of ML models to enhance the reliability of API sequence recommendations by suppressing unreliable outputs entailing tail APIs. NvRec leverages a set of available ML models and profiles their performance on individual API methods with their tail properties. The generated model profile is used at inference time to filter out unreliable API recommendations and determine the final output. We implement NvRec using five API recommendation models,…
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.
