paper-with-me

홈 › Papers

Senatus -- A Fast and Accurate Code-to-Code Recommendation Engine

2021-11-05 · Fran Silavong, Sean Moran, Antonios Georgiadis, Rohan Saphal, Robert Otter

Machine learning on source code (MLOnCode) is a popular research field that has been driven by the availability of large-scale code repositories and the development of powerful probabilistic and deep learning models for mining source code. Code-to-code recommendation is a task in MLOnCode that aims to recommend relevant, diverse and concise code snippets that usefully extend the code currently being written by a developer in their development environment (IDE). Code-to-code recommendation engines hold the promise of increasing developer productivity by reducing context switching from the IDE and increasing code-reuse. Existing code-to-code recommendation engines do not scale gracefully to large codebases, exhibiting a linear growth in query time as the code repository increases in size. In addition, existing code-to-code recommendation engines fail to account for the global statistics of code repositories in the ranking function, such as the distribution of code snippet lengths, leading to sub-optimal retrieval results. We address both of these weaknesses with \emph{Senatus}, a new code-to-code recommendation engine. At the core of Senatus is \emph{De-Skew} LSH a new locality sensitive hashing (LSH) algorithm that indexes the data for fast (sub-linear time) retrieval while also counteracting the skewness in the snippet length distribution using novel abstract syntax tree-based feature scoring and selection algorithms. We evaluate Senatus and find the recommendations to be of higher quality than competing baselines, while achieving faster search. For example on the CodeSearchNet dataset Senatus improves performance by 31.21\% F1 and 147.9\emph{x} faster query time compared to Facebook Aroma. Senatus also outperforms standard MinHash LSH by 29.2\% F1 and 51.02\emph{x} faster query time.

📄 PDF Abstract BibTeX arXiv:2111.04473

Code (0)

등록된 구현이 없습니다.

Tasks

Retrieval

Similar Papers 제목 키워드 기반

Discrete Factorization Machines for Fast Feature-based Recommendation

2018-05-06 · Han Liu, Xiangnan He, Fuli Feng, Liqiang Nie 외

User and item features of side information are crucial for accurate recommendation. However, the large number of feature dimensions, e.g., usually larger than 10^7, results in expensive storage and computational cost. Th…

BinarizationQuantization

Holistic Combination of Structural and Textual Code Information for Context based API Recommendation

2020-10-15 · Chi Chen, Xin Peng, Zhenchang Xing, Jun Sun 외

Context based API recommendation is an important way to help developers find the needed APIs effectively and efficiently. For effective API recommendation, we need not only a joint view of both structural and textual cod…

Multi-Feature Discrete Collaborative Filtering for Fast Cold-start Recommendation

2020-03-24 · Yang Xu, Lei Zhu, Zhiyong Cheng, Jingjing Li 외

Hashing is an effective technique to address the large-scale recommendation problem, due to its high computation and storage efficiency on calculating the user preferences on items. However, existing hashing-based recomm…

Collaborative FilteringQuantization

Semantic Codebook Learning for Dynamic Recommendation Models

2024-07-31 · Zheqi Lv, Shaoxuan He, Tianyu Zhan, Shengyu Zhang 외

Dynamic sequential recommendation (DSR) can generate model parameters based on user behavior to improve the personalization of sequential recommendation under various user preferences. However, it faces the challenges of…

Sequential Recommendation

Leave No Patient Behind: Enhancing Medication Recommendation for Rare Disease Patients

2024-03-26 · Zihao Zhao, Yi Jing, Fuli Feng, Jiancan Wu 외

Medication recommendation systems have gained significant attention in healthcare as a means of providing tailored and effective drug combinations based on patients' clinical information. However, existing approaches oft…

FairnessRecommendation Systems