A Novel Neural Source Code Representation based on Abstract Syntax TreeTechnical Track
Exploiting machine learning techniques for analyzing programs has attracted much attention. One key problem is how to represent code fragments well for follow-up analysis. Traditional information retrieval based methods often treat programs as natural language texts, which could miss important semantic information of source code. Recently, state-of-the-art studies demonstrate that abstract syntax tree (AST) based neural models can better represent source code. However, the sizes of ASTs are usually large and the existing models are prone to the long-term dependency problem. In this paper, we propose a novel AST-based Neural Network (ASTNN) for source code representation. Unlike existing models that work on entire ASTs, ASTNN splits each large AST into a sequence of small statement trees, and recursively encodes the statement trees to vectors by capturing the lexical and syntactical knowledge of statements. Based on the sequence of statement vectors, a bidirectional RNN model is used to leverage the naturalness of statements and finally produce the vector representation of a code fragment. We have applied our neural network based source code representation method to two common program comprehension tasks: source code classification and code clone detection. Experimental results on the two tasks indicate that our model is superior to state-of-the-art approaches.
Fri 31 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | Machine Learning in Static AnalysisPapers / Technical Track at Place du Canada Chair(s): Na Meng Virginia Tech | ||
11:00 20mTalk | Training Binary Classifiers as Data Structure InvariantsTechnical Track Technical Track Facundo Molina Universidad Nacional de Rio Cuarto, Argentina, Renzo Degiovanni SnT, University of Luxembourg, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Germán Regis Universidad Nacional de Río Cuarto, Nazareno Aguirre Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires | ||
11:20 20mTalk | Graph Embedding based Familial Analysis of Android Malware using Unsupervised LearningTechnical Track Technical Track Ming Fan MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Xiapu Luo , Jun Liu MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Meng Wang University of Bristol, UK, Chunyin Nong , Qinghua Zheng MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China, Ting Liu MOEKLINNS Lab, Department of Computer Science and Technology, Xi'an Jiaotong University, 710049, China | ||
11:40 20mTalk | A Novel Neural Source Code Representation based on Abstract Syntax TreeTechnical Track Technical Track Jian Zhang Beihang University, Xu Wang Beihang University, Hongyu Zhang The University of Newcastle, Hailong Sun Beihang University, Kaixuan Wang Beihang University, Xudong Liu Beihang University Pre-print | ||
12:00 20mTalk | A Neural Model for Generating Natural Language Summaries of Program SubroutinesTechnical Track Technical Track Alexander LeClair University Of Notre Dame, Siyuan Jiang Eastern Michigan University, Collin McMillan | ||
12:20 10mTalk | Discussion Period Papers |