Using Structured Input and Modularity for Improved Learning

03/29/2019
by   Zehra Sura, et al.
0

We describe a method for utilizing the known structure of input data to make learning more efficient. Our work is in the domain of programming languages, and we use deep neural networks to do program analysis. Computer programs include a lot of structural information (such as loop nests, conditional blocks, and data scopes), which is pertinent to program analysis. In this case, the neural network has to learn to recognize the structure, and also learn the target function for the problem. However, the structural information in this domain is readily accessible to software with the availability of compiler tools and parsers for well-defined programming languages. Our method for utilizing the known structure of input data includes: (1) pre-processing the input data to expose relevant structures, and (2) constructing neural networks by incorporating the structure of the input data as an integral part of the network design. The method has the effect of modularizing the neural network which helps break down complexity, and results in more efficient training of the overall network. We apply this method to an example code analysis problem, and show that it can achieve higher accuracy with a smaller network size and fewer training examples. Further, the method is robust, performing equally well on input data with different distributions.

READ FULL TEXT
research
07/21/2020

What Programs Want: Automatic Inference of Input Data Specifications

Nowadays, as machine-learned software quickly permeates our society, we ...
research
05/10/2022

Cross-Language Source Code Clone Detection Using Deep Learning with InferCode

Software clones are beneficial to detect security gaps and software main...
research
07/29/2018

ROPNN: Detection of ROP Payloads Using Deep Neural Networks

Return-oriented programming (ROP) is a code reuse attack that chains sho...
research
07/27/2021

Robust Optimization Framework for Training Shallow Neural Networks Using Reachability Method

In this paper, a robust optimization framework is developed to train sha...
research
01/24/2022

Cobol2Vec: Learning Representations of Cobol code

There has been a steadily growing interest in development of novel metho...
research
04/21/2017

Making Neural Programming Architectures Generalize via Recursion

Empirically, neural networks that attempt to learn programs from data ha...
research
02/27/2020

Learning in the Frequency Domain

Deep neural networks have achieved remarkable success in computer vision...

Please sign up or login with your details

Forgot password? Click here to reset