Authors
Xiang Gao, Shraddha Barke, Arjun Radhakrishna, Gustavo Soares, Sumit Gulwani, Alan Leung, Nachiappan Nagappan, Ashish Tiwari
Publication date
2020/11/13
Journal
Proceedings of the ACM on Programming Languages
Volume
4
Issue
OOPSLA
Pages
1-30
Publisher
ACM
Description
While editing code, it is common for developers to make multiple related repeated edits that are all instances of a more general program transformation. Since this process can be tedious and error-prone, we study the problem of automatically learning program transformations from past edits, which can then be used to predict future edits. We take a novel view of the problem as a semi-supervised learning problem: apart from the concrete edits that are instances of the general transformation, the learning procedure also exploits access to additional inputs (program subtrees) that are marked as positive or negative depending on whether the transformation applies on those inputs. We present a procedure to solve the semi-supervised transformation learning problem using anti-unification and programming-by-example synthesis technology. To eliminate reliance on access to marked additional inputs, we generalize the …
Total citations
20212022202320249945
Scholar articles
X Gao, S Barke, A Radhakrishna, G Soares, S Gulwani… - Proceedings of the ACM on Programming Languages, 2020