English

Automatic Repair and Type Binding of Undeclared Variables using Neural Networks

Software Engineering 2019-07-16 v1 Computation and Language Formal Languages and Automata Theory Machine Learning Programming Languages Machine Learning

Abstract

Deep learning had been used in program analysis for the prediction of hidden software defects using software defect datasets, security vulnerabilities using generative adversarial networks as well as identifying syntax errors by learning a trained neural machine translation on program codes. However, all these approaches either require defect datasets or bug-free source codes that are executable for training the deep learning model. Our neural network model is neither trained with any defect datasets nor bug-free programming source codes, instead it is trained using structural semantic details of Abstract Syntax Tree (AST) where each node represents a construct appearing in the source code. This model is implemented to fix one of the most common semantic errors, such as undeclared variable errors as well as infer their type information before program compilation. By this approach, the model has achieved in correctly locating and identifying 81% of the programs on prutor dataset of 1059 programs with only undeclared variable errors and also inferring their types correctly in 80% of the programs.

Keywords

Cite

@article{arxiv.1907.06205,
  title  = {Automatic Repair and Type Binding of Undeclared Variables using Neural Networks},
  author = {Venkatesh Theru Mohan and Ali Jannesari},
  journal= {arXiv preprint arXiv:1907.06205},
  year   = {2019}
}

Comments

16 pages, 16 figures

R2 v1 2026-06-23T10:20:32.235Z