Neuro-Symbolic Execution of Generic Source Code
This work addresses the challenge of neural execution of source code for developers and researchers, offering a novel approach but with incremental advancements in neural-symbolic methods.
The paper tackles the problem of executing generic source code statement-by-statement using neural networks, introducing Neural Interpretation (NI) as the first neural model that handles missing definitions and preserves code structure. It demonstrates capabilities such as executing Py150 dataset programs and enabling white-box execution for tasks like variable misuse localization and repair.
Can a Python program be executed statement-by-statement by neural networks composed according to the source code? We formulate the Neuro-Symbolic Execution Problem and introduce Neural Interpretation (NI), the first neural model for the execution of generic source code that allows missing definitions. NI preserves source code structure, where every variable has a vector encoding, and every function executes a neural network. NI is a novel neural model of computers with a compiler architecture that can assemble neural layers "programmed" by source code. NI is the first neural model capable of executing Py150 dataset programs, including library functions without concrete inputs, and it can be trained with flexible code understanding objectives. We demonstrate white-box execution without concrete inputs for variable misuse localization and repair.