title: What are some common data augmentation techniques for code?
body: <p>I understand that there are data augmentation techniques for natural language such as word/sentence shuffling, word replacement with synonyms and syntax-tree manipulation.</p>
  <p>However, I have hard time finding data augmentation techniques for code snippets(e.g. java, c++, etc).</p>
  <p>For example, natural language (e.g. I am a human) and code snippet (e.g. def function(foo): print(foo)) have quite different syntactic and semantic characteristics. Thus, I don't think the data augmentation techniques for natural language (e.g. word replacement with synonyms) can be applied to code snippets.</p>
  <p>Could someone tell me what are some common data augmentation used for code? Thank you.</p>