paper-with-me

홈 › Papers

Learning to Execute Programs with Instruction Pointer Attention Graph Neural Networks

2020-10-23 · NeurIPS 2020 12 · David Bieber, Charles Sutton, Hugo Larochelle, Daniel Tarlow

Graph neural networks (GNNs) have emerged as a powerful tool for learning software engineering tasks including code completion, bug finding, and program repair. They benefit from leveraging program structure like control flow graphs, but they are not well-suited to tasks like program execution that require far more sequential reasoning steps than number of GNN propagation steps. Recurrent neural networks (RNNs), on the other hand, are well-suited to long sequential chains of reasoning, but they do not naturally incorporate program structure and generally perform worse on the above tasks. Our aim is to achieve the best of both worlds, and we do so by introducing a novel GNN architecture, the Instruction Pointer Attention Graph Neural Networks (IPA-GNN), which achieves improved systematic generalization on the task of learning to execute programs using control flow graphs. The model arises by considering RNNs operating on program traces with branch decisions as latent variables. The IPA-GNN can be seen either as a continuous relaxation of the RNN model or as a GNN variant more tailored to execution. To test the models, we propose evaluating systematic generalization on learning to execute using control flow graphs, which tests sequential reasoning and use of program structure. More practically, we evaluate these models on the task of learning to execute partial programs, as might arise if using the model as a heuristic function in program synthesis. Results show that the IPA-GNN outperforms a variety of RNN and GNN baselines on both tasks.

📄 PDF Abstract BibTeX arXiv:2010.12621

Code (1)

google-research/google-research/tree/master/ipagnn 공식 구현 tf

Tasks

Code CompletionLearning to ExecuteProgram RepairProgram SynthesisSystematic Generalization

Methods 이 논문이 사용한 방법론

IPA-GNN Instruction Pointer Attention Graph Neural Network, or IPA-GNN, is a learning-interpreter neural network (LNN) based on GNNs for learning to execute programmes. It…

Similar Papers 제목 키워드 기반

The IsalProgram Programming Language

2026-05-16 · Ezequiel López-Rubio arxiv

We introduce IsalProgram (Instruction Set and Language for Programming), a novel assembly-like programming language with three distinctive theoretical properties: (1) it is a regular language in the sense of formal langu…

Program Synthesis

Instruction set for the representation of graphs

2026-03-11 · Ezequiel Lopez-Rubio, Mario Pascual-Gonzalez arxiv

We present IsalGraph, a method for representing the structure of any finite, simple graph as a compact string over a nine-character instruction alphabet. The encoding is executed by a small virtual machine comprising a s…

Language ModellingGraph SimilarityGraph Generation

High-Level Plan for Behavioral Robot Navigation with Natural Language Directions and R-NET

2020-01-08 · Amar Shrestha, Krittaphat Pugdeethosapol, Haowen Fang, Qinru Qiu

When the navigational environment is known, it can be represented as a graph where landmarks are nodes, the robot behaviors that move from node to node are edges, and the route is a set of behavioral instructions. The ro…

Combinatorial OptimizationRobot Navigation

Neural Programmer-Interpreters

2015-11-19 · Scott Reed, Nando de Freitas

We propose the neural programmer-interpreter (NPI): a recurrent and compositional neural network that learns to represent and execute programs. NPI has three learnable components: a task-agnostic recurrent core, a persis…

Looped Transformers as Programmable Computers

2023-01-30 · Angeliki Giannou, Shashank Rajput, Jy-yong Sohn, Kangwook Lee 외

We present a framework for using transformer networks as universal computers by programming them with specific weights and placing them in a loop. Our input sequence acts as a punchcard, consisting of instructions and me…

In-Context Learning