deGraphCS: Embedding Variable-based Flow Graph for Neural Code Search
Not on the map. Why?
Abstract (arXiv)
With the rapid increase in the amount of public code repositories, developers maintain a great desire to retrieve precise code snippets by using natural language. Despite existing deep learning based approaches(e.g., DeepCS and MMAN) have provided the end-to-end solutions (i.e., accepts natural language as queries and shows related code fragments retrieved directly from code corpus), the accuracy of code search in the large-scale repositories is still limited by the code representation (e.g., AST) and modeling (e.g., directly fusing the features in the attention stage). In this paper, we propose a novel learnable deep Graph for Code Search (calleddeGraphCS), to transfer source code into variable-based flow graphs based on the intermediate representation technique, which can model code semantics more precisely compared to process the code as text directly or use the syntactic tree representation. Furthermore, we propose a well-designed graph optimization mechanism to refine the code representation, and apply an improved gated graph neural network to model variable-based flow graphs. To evaluate the effectiveness of deGraphCS, we collect a large-scale dataset from GitHub containing 41,152 code snippets written in C language, and reproduce several typical deep code search methods for comparison. Besides, we design a qualitative user study to verify the practical value of our approach. The experimental results have shown that deGraphCS can achieve state-of-the-art performances, and accurately retrieve code snippets satisfying the needs of the users.
Key facts. Cited by 3 papers in the map (data through 7 Oct 2026). Builds on 22 of its 74 references that are in the map. First posted on arXiv 24 Mar 2021.
Builds on
22 of 74 references.
References · 22
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2014Neural Machine Translation by Jointly Learning to Align and Translatecited by 4,530
- 2014Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modelingcited by 2,341
- 2017Decoupled Weight Decay Regularizationcited by 1,722
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2015Gated Graph Sequence Neural Networkscited by 792
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 638
- 2015Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networkscited by 305
- 2018Improving Automatic Source Code Summarization via Deep Reinforcement Learningcited by 99
- 2018Tree-to-tree Neural Networks for Program Translationcited by 93
- 2020Detecting Code Clones with Graph Neural Networkand Flow-Augmented Abstract Syntax Treecited by 68
- 2018Neural Code Comprehension: A Learnable Representation of Code Semanticscited by 59
10 more
- 2019When Deep Learning Met Code Searchcited by 45
- 2016Deep API Learningcited by 41
- 2019Multi-Modal Attention Network Learning for Semantic Source Code Retrievalcited by 40
- 2020A Multi-Perspective Architecture for Semantic Code Searchcited by 20
- 2015Learning Program Embeddings to Propagate Feedback on Student Codecited by 19
- 2016A deep language model for software codecited by 14
- 2020CRaDLe: Deep Code Retrieval Based on Semantic Dependency Learningcited by 12
- 2018Path-Based Function Embedding and its Application to Specification Miningcited by 8
- 2018Code Vectors: Understanding Programs Through Embedded Abstracted Symbolic Tracescited by 7
- 2017NLP2Code: Code Snippet Content Assist via Natural Language Taskscited by 4
Built on by
Citing papers per year: 2022: 2; 2023: 1.
3 papers.