A Hybrid Approach for Learning Program Representations

07/03/2019
by   Ke Wang, et al.
0

Learning neural program embedding is the key to utilizing deep neural networks in program language research. Precise and efficient program representations enable the application of deep models to a wide range of program analysis tasks. Existing works predominately learn to embed programs from their source code, as a result, they do not capture a deep, precise representation of program semantics. Models learning from the runtime information heavily depend on the quality of program executions, which adds uncertainty to the training process. This paper tackles these weaknesses of prior works by introducing a new deep neural network, LIGER, which learns program representations from a mixture of symbolic and concrete execution traces. We have evaluated LIGER on COSET, a recently proposed benchmark for evaluating the neural program embeddings. Results show LIGER is significantly more accurate than Gated Graph Neural Network and code2vec in classifying the program semantics while requiring on average almost ten times less executions covering 74 method's name from the vector representation of its body. By learning on the same set of functions (more than 170K in total), LIGER significantly outperforms code2seq, the previous state-of-the-art.

READ FULL TEXT
research
07/03/2019

Learning Blended, Precise Semantic Program Embeddings

Learning neural program embeddings is key to utilizing deep neural netwo...
research
05/13/2019

Learning Scalable and Precise Representation of Program Semantics

Neural program embedding has shown potential in aiding the analysis of l...
research
11/18/2020

GRAPHSPY: Fused Program Semantic-Level Embedding via Graph Neural Networks for Dead Store Detection

Production software oftentimes suffers from the issue of performance ine...
research
04/18/2023

NPS: A Framework for Accurate Program Sampling Using Graph Neural Network

With the end of Moore's Law, there is a growing demand for rapid archite...
research
09/11/2014

Building Program Vector Representations for Deep Learning

Deep learning has made significant breakthroughs in various fields of ar...
research
05/31/2023

PERFOGRAPH: A Numerical Aware Program Graph Representation for Performance Optimization and Program Analysis

The remarkable growth and significant success of machine learning have e...
research
02/14/2018

Convolutional Neural Networks over Control Flow Graphs for Software Defect Prediction

Existing defects in software components is unavoidable and leads to not ...

Please sign up or login with your details

Forgot password? Click here to reset