Multi-modal Attention Network Learning for Semantic Source Code Retrieval
Authors:
Top Cited Papers
- 1 November 2019
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 13-25
Abstract
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 (e.g., a short natural language text describing the functionality for retrieving a particular code snippet). 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.Keywords
All Related Versions
This publication has 27 references indexed in Scilit:
- Deep Visual-Semantic Hashing for Cross-Modal Retrieval2016
- SVF: interprocedural static value-flow analysis in LLVM2016
- Multimodal Convolutional Neural Networks for Matching Image and Sentence2015
- CodeHow: Effective Code Search Based on API Understanding and Extended Boolean Model (E)2015
- Effective Approaches to Attention-based Neural Machine Translation2015
- A Neural Attention Model for Abstractive Sentence Summarization2015
- A Hierarchical Neural Autoencoder for Paragraphs and Documents2015
- Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks2015
- Detecting Memory Leaks Statically with Full-Sparse Value-Flow AnalysisIEEE Transactions on Software Engineering, 2014
- Long Short-Term MemoryNeural Computation, 1997