Multi-Modal Attention Network Learning for Semantic Source Code Retrieval
Not on the map. Why?
Abstract (arXiv)
Code retrieval techniques and tools have been playing a key role in facilitating software developers to retrieve existing code fragments from available open-source repositories given a user query. Despite the existing efforts in improving the effectiveness of code retrieval, there are still two main issues hindering them from being used to accurately retrieve satisfiable code fragments from large-scale repositories when answering complicated queries. First, the existing approaches only consider shallow features of source code such as method names and code tokens, but ignoring structured features such as abstract syntax trees (ASTs) and control-flow graphs (CFGs) of source code, which contains rich and well-defined semantics of source code. Second, although the deep learning-based approach performs well on the representation of source code, it lacks the explainability, making it hard to interpret the retrieval results and almost impossible to understand which features of source code contribute more to the final results. To tackle the two aforementioned issues, this paper proposes MMAN, a novel Multi-Modal Attention Network for semantic source code retrieval. A comprehensive multi-modal representation is developed for representing unstructured and structured features of source code, with one LSTM for the sequential tokens of code, a Tree-LSTM for the AST of code and a GGNN (Gated Graph Neural Network) for the CFG of code. Furthermore, a multi-modal attention fusion layer is applied to assign weights to different parts of each modality of source code and then integrate them into a single hybrid representation. Comprehensive experiments and analysis on a large-scale real-world dataset show that our proposed model can accurately retrieve code snippets and outperforms the state-of-the-art methods.
Key facts. Cited by 40 papers in the map (data through 7 Oct 2026). First posted on arXiv 30 Sep 2019.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 8; 2022: 14; 2023: 8; 2024: 6; 2025: 3; 2026: 1.
40 papers.
Sort:
By area:
- 2023Large Language Models for Software Engineering: A Systematic Literature Reviewcited by 389
- 2021CoSQA: 20,000+ Web Queries for Code Search and Question Answeringcited by 74
- 2022What Do They Capture? -- A Structural Analysis of Pre-Trained Language Models for Source Codecited by 50
- 2023xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrievalcited by 46
- 2024WebCode2M: A Real-World Dataset for Code Generation from Webpage Designscited by 43
- 2022On the Importance of Building High-quality Training Datasets for Neural Code Searchcited by 30
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2022CoCoSoDa: Effective Contrastive Learning for Code Searchcited by 21
- 2024CodeIP: A Grammar-Guided Multi-Bit Watermark for Large Language Models of Codecited by 21
- 2024Analyzing the Performance of Large Language Models on Code Summarizationcited by 19
- 2021GraphSearchNet: Enhancing GNNs via Capturing Global Dependencies for Semantic Code Searchcited by 15
28 more
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Trainingcited by 15
- 2022Source Code Summarization with Structural Relative Position Guided Transformercited by 14
- 2022Cross-Language Binary-Source Code Matching with Intermediate Representationscited by 13
- 2023Backdooring Neural Code Searchcited by 13
- 2024Graph Neural Networks for Vulnerability Detection: A Counterfactual Explanationcited by 12
- 2021Multimodal Representation for Neural Code Searchcited by 11
- 2022Code Search based on Context-aware Code Translationcited by 11
- 2025CODESYNC: Synchronizing Large Language Models with Dynamic Code Evolution at Scalecited by 8
- 2022Learning Program Representations with a Tree-Structured Transformercited by 6
- 2022DexBERT: Effective, Task-Agnostic and Fine-grained Representation Learning of Android Bytecodecited by 6
- 2021A Neural Question Answering System for Basic Questions about Subroutinescited by 5
- 2021Embedding API Dependency Graph for Neural Code Generationcited by 5
- 2023Abstract Syntax Tree for Programming Language Understanding and Representation: How Far Are We?cited by 5
- 2022A Survey of Deep Learning Models for Structural Code Understandingcited by 4
- 2023Code Search Debiasing:Improve Search Results beyond Overall Ranking Performancecited by 4
- 2021Comparative Code Structure Analysis using Deep Learning for Performance Predictioncited by 3
- 2021deGraphCS: Embedding Variable-based Flow Graph for Neural Code Searchcited by 3
- 2022NS3: Neuro-Symbolic Semantic Code Searchcited by 3
- 2023DSHGT: Dual-Supervisors Heterogeneous Graph Transformer -- A pioneer study of using heterogeneous graph learning for detecting software vulnerabilitiescited by 2
- 2024Eliminating Backdoors in Neural Code Models for Secure Code Understandingcited by 2
- 2022AstBERT: Enabling Language Model for Financial Code Understanding with Abstract Syntax Treescited by 1
- 2022CSSAM:Code Search via Attention Matching of Code Semantics and Structurescited by 0
- 2022Code Compliance Assessment as a Learning Problemcited by 0
- 2023Contrastive Prompt Learning-based Code Search based on Interaction Matrixcited by 0
- 2024CONCORD: Towards a DSL for Configurable Graph Code Representationcited by 0
- 2025How to Select Pre-Trained Code Models for Reuse? A Learning Perspectivecited by 0
- 2025RETROcode: Leveraging a Code Database for Improved Natural Language to Code Generationcited by 0
- 2026Focus on What Matters: Fisher-Guided Adaptive Multimodal Fusion for Vulnerability Detectioncited by 0
- 2026Focus on What Matters: Fisher-Guided Adaptive Multimodal Fusion for Vulnerability Detection5 Jan 2026
- 2025RETROcode: Leveraging a Code Database for Improved Natural Language to Code Generation8 Apr 2025
- 2025CODESYNC: Synchronizing Large Language Models with Dynamic Code Evolution at Scale23 Feb 2025
- 2025How to Select Pre-Trained Code Models for Reuse? A Learning Perspective7 Jan 2025
- 2024Eliminating Backdoors in Neural Code Models for Secure Code Understanding8 Aug 2024
- 2024Graph Neural Networks for Vulnerability Detection: A Counterfactual Explanation24 Apr 2024
- 2024CodeIP: A Grammar-Guided Multi-Bit Watermark for Large Language Models of Code24 Apr 2024
- 2024Analyzing the Performance of Large Language Models on Code Summarization10 Apr 2024
- 2024WebCode2M: A Real-World Dataset for Code Generation from Webpage Designs9 Apr 2024
- 2024CONCORD: Towards a DSL for Configurable Graph Code Representation31 Jan 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Abstract Syntax Tree for Programming Language Understanding and Representation: How Far Are We?1 Dec 2023
28 more
- 2023Code Search Debiasing:Improve Search Results beyond Overall Ranking Performance25 Nov 2023
- 2023Contrastive Prompt Learning-based Code Search based on Interaction Matrix10 Oct 2023
- 2023Large Language Models for Software Engineering: A Systematic Literature Review21 Aug 2023
- 2023DSHGT: Dual-Supervisors Heterogeneous Graph Transformer -- A pioneer study of using heterogeneous graph learning for detecting software vulnerabilities2 Jun 2023
- 2023Backdooring Neural Code Search27 May 2023
- 2023xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrieval6 Mar 2023
- 2022DexBERT: Effective, Task-Agnostic and Fine-grained Representation Learning of Android Bytecode12 Dec 2022
- 2022Code Compliance Assessment as a Learning Problem10 Sep 2022
- 2022Learning Program Representations with a Tree-Structured Transformer18 Aug 2022
- 2022CSSAM:Code Search via Attention Matching of Code Semantics and Structures8 Aug 2022
- 2022NS3: Neuro-Symbolic Semantic Code Search21 May 2022
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Training4 May 2022
- 2022A Survey of Deep Learning Models for Structural Code Understanding3 May 2022
- 2022CoCoSoDa: Effective Contrastive Learning for Code Search7 Apr 2022
- 2022Code Search based on Context-aware Code Translation16 Feb 2022
- 2022What Do They Capture? -- A Structural Analysis of Pre-Trained Language Models for Source Code14 Feb 2022
- 2022On the Importance of Building High-quality Training Datasets for Neural Code Search14 Feb 2022
- 2022Source Code Summarization with Structural Relative Position Guided Transformer14 Feb 2022
- 2022AstBERT: Enabling Language Model for Financial Code Understanding with Abstract Syntax Trees20 Jan 2022
- 2022Cross-Language Binary-Source Code Matching with Intermediate Representations19 Jan 2022
- 2021GraphSearchNet: Enhancing GNNs via Capturing Global Dependencies for Semantic Code Search4 Nov 2021
- 2021A Survey on Machine Learning Techniques for Source Code Analysis18 Oct 2021
- 2021Multimodal Representation for Neural Code Search2 Jul 2021
- 2021CoSQA: 20,000+ Web Queries for Code Search and Question Answering27 May 2021
- 2021Embedding API Dependency Graph for Neural Code Generation29 Mar 2021
- 2021deGraphCS: Embedding Variable-based Flow Graph for Neural Code Search24 Mar 2021
- 2021Comparative Code Structure Analysis using Deep Learning for Performance Prediction12 Feb 2021
- 2021A Neural Question Answering System for Basic Questions about Subroutines11 Jan 2021
- 2023Large Language Models for Software Engineering: A Systematic Literature Reviewcited by 389
- 2021CoSQA: 20,000+ Web Queries for Code Search and Question Answeringcited by 74
- 2022What Do They Capture? -- A Structural Analysis of Pre-Trained Language Models for Source Codecited by 50
- 2023xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrievalcited by 46
- 2024WebCode2M: A Real-World Dataset for Code Generation from Webpage Designscited by 43
- 2022On the Importance of Building High-quality Training Datasets for Neural Code Searchcited by 30
- 2021A Survey on Machine Learning Techniques for Source Code Analysiscited by 23
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkitcited by 22
- 2022CoCoSoDa: Effective Contrastive Learning for Code Searchcited by 21
- 2024Analyzing the Performance of Large Language Models on Code Summarizationcited by 19
- 2021GraphSearchNet: Enhancing GNNs via Capturing Global Dependencies for Semantic Code Searchcited by 15
- 2022CODE-MVP: Learning to Represent Source Code from Multiple Views with Contrastive Pre-Trainingcited by 15
12 most cited of 36 All 36 (JSON)
- 2026Focus on What Matters: Fisher-Guided Adaptive Multimodal Fusion for Vulnerability Detection5 Jan 2026
- 2025RETROcode: Leveraging a Code Database for Improved Natural Language to Code Generation8 Apr 2025
- 2025How to Select Pre-Trained Code Models for Reuse? A Learning Perspective7 Jan 2025
- 2024Graph Neural Networks for Vulnerability Detection: A Counterfactual Explanation24 Apr 2024
- 2024Analyzing the Performance of Large Language Models on Code Summarization10 Apr 2024
- 2024WebCode2M: A Real-World Dataset for Code Generation from Webpage Designs9 Apr 2024
- 2024CONCORD: Towards a DSL for Configurable Graph Code Representation31 Jan 2024
- 2023Deep Learning for Code Intelligence: Survey, Benchmark and Toolkit30 Dec 2023
- 2023Abstract Syntax Tree for Programming Language Understanding and Representation: How Far Are We?1 Dec 2023
- 2023Code Search Debiasing:Improve Search Results beyond Overall Ranking Performance25 Nov 2023
- 2023Contrastive Prompt Learning-based Code Search based on Interaction Matrix10 Oct 2023
- 2023Large Language Models for Software Engineering: A Systematic Literature Review21 Aug 2023
12 newest of 36 All 36 (JSON)