Not Logged In

Convolutional Neural Networks over Tree Structures for Programming Language Processing

Full Text: 11775-55614-1-PB.pdf PDF

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.

Citation

L. Mou, G. Li, L. Zhang, T. Wang, Z. Jin. "Convolutional Neural Networks over Tree Structures for Programming Language Processing". National Conference on Artificial Intelligence (AAAI), pp 1287-1293, February 2016.

Keywords: deep learning, neural network, program analysis
Category: In Conference
Web Links: AAAI

BibTeX

@incollection{Mou+al:AAAI16,
  author = {Lili Mou and Ge Li and Lu Zhang and Tao Wang and Zhi Jin},
  title = {Convolutional Neural Networks over Tree Structures for Programming
    Language Processing},
  Pages = {1287-1293},
  booktitle = {National Conference on Artificial Intelligence (AAAI)},
  year = 2016,
}

Last Updated: February 04, 2021
Submitted by Sabina P

University of Alberta Logo AICML Logo