SECRET: Towards Scalable and Efficient Code Retrieval via Segmented Deep Hashing
Wenchao Gu, Ensheng Shi, Yanlin Wang, Lun Du, Shi Han, Hongyu Zhang, Dongmei Zhang, Michael R. Lyu
TL;DR
SECRET introduces segmented deep hashing to scale code retrieval by splitting long hash codes into multiple short segments and using per-segment hash tables for rapid recall. The method combines an initial hashing stage with an iterative training loop that includes hash segmentation, adaptive bits relaxing, and dynamic matching objective adjustment to align code-query hash codes while reducing false positives. Empirical results show SECRET achieves at least a 95% reduction in recall time and maintains or surpasses the accuracy of prior deep hashing baselines, outperforming LSH under the same hash-table count. The approach offers scalable, efficient code retrieval suitable for industrial-scale codebases, with robust performance across datasets and ablations, and provides practical implications for real-time code search in large repositories.
Abstract
Code retrieval, which retrieves code snippets based on users' natural language descriptions, is widely used by developers and plays a pivotal role in real-world software development. The advent of deep learning has shifted the retrieval paradigm from lexical-based matching towards leveraging deep learning models to encode source code and queries into vector representations, facilitating code retrieval according to vector similarity. Despite the effectiveness of these models, managing large-scale code database presents significant challenges. Previous research proposes deep hashing-based methods, which generate hash codes for queries and code snippets and use Hamming distance for rapid recall of code candidates. However, this approach's reliance on linear scanning of the entire code base limits its scalability. To further improve the efficiency of large-scale code retrieval, we propose a novel approach SECRET (Scalable and Efficient Code Retrieval via SegmEnTed deep hashing). SECRET converts long hash codes calculated by existing deep hashing approaches into several short hash code segments through an iterative training strategy. After training, SECRET recalls code candidates by looking up the hash tables for each segment, the time complexity of recall can thus be greatly reduced. Extensive experimental results demonstrate that SECRET can drastically reduce the retrieval time by at least 95% while achieving comparable or even higher performance of existing deep hashing approaches. Besides, SECRET also exhibits superior performance and efficiency compared to the classical hash table-based approach known as LSH under the same number of hash tables.
