Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POPL'19論文との違い (査読者B) #13

Closed
masuhar opened this issue Nov 16, 2019 · 2 comments
Closed

POPL'19論文との違い (査読者B) #13

masuhar opened this issue Nov 16, 2019 · 2 comments

Comments

@masuhar
Copy link
Contributor

masuhar commented Nov 16, 2019

The following recent paper proposes a
similar technique for representing AST.
Uri Alon, Meital Zilberstein, Omer Levy, and Eran Yahav. 2019.
code2vec: learning distributed representations of code. Proc. ACM
Program. Lang. 3, POPL, Article 40 (January 2019), 29 pages. DOI:
https://doi.org/10.1145/3290353
Please add discussions comparing ASTToken2Vec and this study for
differences, potential issues, and so on.

@masuhar
Copy link
Contributor Author

masuhar commented Feb 2, 2020

3290353.pdf

@masuhar
Copy link
Contributor Author

masuhar commented Feb 2, 2020

  • An embedding method for program text.
  • The domain of embedding is a code snippet, a few lines of code. (Ours: one lexical token of code.)
  • The applications are semantic labeling of code snippets. For example, a NN receives a nameless function definition of a few lines of code and answers "reverse array" as the function of the code. (Ours: input a partial input program, output a next few tokens.)
  • It finds that a human-given identifier often can be decomposed into vector components of fragments of meanings. (equalsIgnoreCase = equals + toLowerCase) This fact justifies our use of word2vec like embedding for token prediction.
  • It uses an attention model called "path-based" one, which can relate one AST node with the other one in a position like "go up tree by the name field, down the if statement, down the return statement."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant