Graph-based, Self-Supervised Program Repair from Diagnostic Feedback
Table 7: Comparison of different graph architectures. We evaluate the models on the Deepfix raw test set (full repair rate %).
['[BOLD] Repair Model', '[BOLD] Full Repair']
Different graph representations. We find that the edges connecting symbols in source code (“edges among code only” row), and the edges spanning across source code and a compiler message (“edges across code-feedback only” row) are equally important, and the final program-feedback graph (“final” row) is the most effective. We also experimented with a version of our model that uses self-attention (i.e. we consider the complete graph), which we find comparable or slightly less effective (“self-attention” row). This suggests that the most important edges in the graph are those in our program-feedback graph, which connect symbols with semantic correspondence.