Contrastive Prompt Learning-based Code Search based on Interaction Matrix
This is an incremental improvement for developers and researchers in software engineering, focusing on enhancing code search accuracy.
The paper tackles the problem of code search by addressing inadequate semantic representation and the semantic gap between natural language and programming language, proposing CPLCS, which improves semantic representation quality and mapping ability as demonstrated on a real-world dataset across six programming languages.
Code search aims to retrieve the code snippet that highly matches the given query described in natural language. Recently, many code pre-training approaches have demonstrated impressive performance on code search. However, existing code search methods still suffer from two performance constraints: inadequate semantic representation and the semantic gap between natural language (NL) and programming language (PL). In this paper, we propose CPLCS, a contrastive prompt learning-based code search method based on the cross-modal interaction mechanism. CPLCS comprises:(1) PL-NL contrastive learning, which learns the semantic matching relationship between PL and NL representations; (2) a prompt learning design for a dual-encoder structure that can alleviate the problem of inadequate semantic representation; (3) a cross-modal interaction mechanism to enhance the fine-grained mapping between NL and PL. We conduct extensive experiments to evaluate the effectiveness of our approach on a real-world dataset across six programming languages. The experiment results demonstrate the efficacy of our approach in improving semantic representation quality and mapping ability between PL and NL.