Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

Tree-Based Convolutional Neural NetworksTBCNN for Programs’ Abstract Syntax Trees

Tree-Based Convolutional Neural Networks: TBCNN for Programs’ Abstract Syntax Trees [In this chapter, we will apply the tree-based convolutional neural network (TBCNN) to the source code of programming languages, which we call programming language processing. In fact, programming language processing is a hot research topic in the field of software engineering; it has also aroused growing interest in the artificial intelligence community. A distinct characteristic of a program is that it contains rich, explicit, and complicated structural information, necessitating more intensive modeling of structures. In this chapter, we propose a TBCNN variant for programming language processing, where a convolution kernel is designed for programs’ abstract syntax trees. We show the effectiveness of TBCNN 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.] http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png

Tree-Based Convolutional Neural NetworksTBCNN for Programs’ Abstract Syntax Trees

Loading next page...
 
/lp/springer-journals/tree-based-convolutional-neural-networks-tbcnn-for-programs-abstract-omUVMYStwU
Publisher
Springer Singapore
Copyright
© The Author(s) 2018
ISBN
978-981-13-1869-6
Pages
41 –57
DOI
10.1007/978-981-13-1870-2_4
Publisher site
See Chapter on Publisher Site

Abstract

[In this chapter, we will apply the tree-based convolutional neural network (TBCNN) to the source code of programming languages, which we call programming language processing. In fact, programming language processing is a hot research topic in the field of software engineering; it has also aroused growing interest in the artificial intelligence community. A distinct characteristic of a program is that it contains rich, explicit, and complicated structural information, necessitating more intensive modeling of structures. In this chapter, we propose a TBCNN variant for programming language processing, where a convolution kernel is designed for programs’ abstract syntax trees. We show the effectiveness of TBCNN 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.]

Published: Oct 2, 2018

Keywords: Tree-based convolution; Representation learning; Programming language processing; Program analysis

There are no references for this article.