Convolutional Neural Networks over Tree Structures for Programming Language Processing
Mou, Lili (Peking University) | Li, Ge (Peking University) | Zhang, Lu (Peking University) | Wang, Tao (Stanford Univeristy) | Jin, Zhi (Peking Univeristy)
Programming language processing (similar to natural language processing) is a hot research topic in the field of software engineering; it has also aroused growing interest in the artificial intelligence community. However, different from a natural language sentence, a program contains rich, explicit, and complicated structural information. Hence, traditional NLP models may be inappropriate for programs. In this paper, we propose a novel tree-based convolutional neural network (TBCNN) for programming language processing, in which a convolution kernel is designed over programs' abstract syntax trees to capture structural information. TBCNN is a generic architecture for programming language processing; our experiments show its effectiveness in two different program analysis tasks: classifying programs according to functionality, and detecting code snippets of certain patterns. TBCNN outperforms baseline methods, including several neural models for NLP.
Apr-19-2016
- Country:
- Asia > China (0.04)
- North America > United States
- California > Santa Clara County > Palo Alto (0.04)
- Genre:
- Research Report (0.69)
- Technology: