Conference paper Open Access

A Structural Model for Contextual Code Changes

Brody, Shaked; Alon, Uri; Yahav, Eran


Citation Style Language JSON Export

{
  "publisher": "Zenodo", 
  "DOI": "10.5281/zenodo.4036303", 
  "title": "A Structural Model for Contextual Code Changes", 
  "issued": {
    "date-parts": [
      [
        2020, 
        9, 
        18
      ]
    ]
  }, 
  "abstract": "<p>We address the problem of predicting edit completions based on a learned model that was trained on past edits.<br>\nGiven a code snippet that is partially edited, our goal is to predict a completion of the edit for the rest of the<br>\nsnippet. We refer to this task as the EditCompletion&nbsp;task and present a novel approach for tackling it. The<br>\nmain idea is to directly represent structural edits. This allows us to model the likelihood of the edit itself, rather<br>\nthan learning the likelihood of the edited code. We represent an edit operation as a path in the program&rsquo;s Abstract<br>\nSyntax Tree (AST), originating from the source of the edit to the target of the edit. Using this representation, we<br>\npresent a powerful and lightweight neural model for the EditCompletion&nbsp;task.</p>\n\n<p><br>\nWe conduct a thorough evaluation, comparing our approach to a variety of representation and modeling<br>\napproaches that are driven by multiple strong models such as LSTMs, Transformers, and neural CRFs. Our<br>\nexperiments show that our model achieves 28% relative gain over state-of-the-art sequential models and 2&times;<br>\nhigher accuracy than syntactic models that learn to generate the edited code instead of modeling the edits<br>\ndirectly. We make our code, dataset, and trained models publicly available.</p>", 
  "author": [
    {
      "family": "Brody, Shaked"
    }, 
    {
      "family": "Alon, Uri"
    }, 
    {
      "family": "Yahav, Eran"
    }
  ], 
  "id": "4036303", 
  "type": "paper-conference", 
  "event": "Object-Oriented Programming, Systems, Languages and Applications (OOPSLA)"
}
73
16
views
downloads
All versions This version
Views 7373
Downloads 1616
Data volume 488.8 MB488.8 MB
Unique views 7070
Unique downloads 1313

Share

Cite as