Graph Neural Networks For Mapping Variables Between Programs -- Extended Version
Pedro Orvalho, Jelle Piepenbrock, Mikol\'a\v{s} Janota, Vasco, Manquinho

TL;DR
This paper introduces a novel graph neural network approach to map variables between programs, significantly improving program repair accuracy by leveraging variable mappings derived from abstract syntax trees.
Contribution
The work presents a new GNN-based method for variable mapping between programs, enhancing program repair capabilities beyond existing structure-dependent techniques.
Findings
Correctly maps 83% of variable pairs in evaluation dataset.
Improves program repair success rate to 88.5%.
Outperforms state-of-the-art methods that achieve 72% repair rate.
Abstract
Automated program analysis is a pivotal research domain in many areas of Computer Science -- Formal Methods and Artificial Intelligence, in particular. Due to the undecidability of the problem of program equivalence, comparing two programs is highly challenging. Typically, in order to compare two programs, a relation between both programs' sets of variables is required. Thus, mapping variables between two programs is useful for a panoply of tasks such as program equivalence, program analysis, program repair, and clone detection. In this work, we propose using graph neural networks (GNNs) to map the set of variables between two programs based on both programs' abstract syntax trees (ASTs). To demonstrate the strength of variable mappings, we present three use-cases of these mappings on the task of program repair to fix well-studied and recurrent bugs among novice programmers in…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Online Learning and Analytics
MethodsRepair
