Improving Keyword-based Code Recommendation by Exploiting Context Information (bibtex)
by Aochi Shu and Hidehiko Masuhara
Abstract:
Code recommendation provides code fragments that the programmer likely to type in. One of the advanced code recommendation techniques is keyword programming, which can reflect the programmers' intention. Keyword programming lets the user specify keywords and recommends expressions that contain as many of them. Another one is neural code completion, which uses neural networks to recommend likely occurring expressions according to the context (the program text preceding the cursor position). Previous work showed that the accuracy of a keyword programming system is not high enough. One of the reasons is that the existing keyword programming always recommends shorter expressions without using the context information. In this presentation, we improve keyword programming by combining a neural code completion technique. In addition to the occurrence of keyword, the ranking algorithm incorporates the likeliness factor of the code fragment concerning the context. To estimate the likeliness, we utilize a neural network-based sentence generator. Thus, we can achieve a more complicatedly suitable code fragment and generate a candidate list varying along with different contexts. We implemented our proposal for Java called ACKN as an Eclipse plug-in. The implementation is publicly available.
Reference:
Improving Keyword-based Code Recommendation by Exploiting Context Information (Aochi Shu and Hidehiko Masuhara), In Presented at IPSJ SIG-PRO 128th Workshop on Programming,, 2020.
Bibtex Entry:
@article{shu2020ipsj-pro,
  author = {Aochi Shu and Hidehiko Masuhara},
  pdf = {pro2019-5-2.pdf},
  title = {Improving Keyword-based Code Recommendation by Exploiting Context Information},
  journal = {Presented at IPSJ SIG-PRO 128th Workshop on Programming, },
  year = 2020,
  key = {2019-5-(2)},
  date = {2020-03-13},
  month = mar,
  keywords = {code completion, DNN, deep neural network, LSTM, long short-term memory, word2vec, keyword programming},
  url = {https://sigpro.ipsj.or.jp/pro2019-5/online/},
  location = {Online Workshop},
  annote = {The workshop was originally planned at Waseda University, but was held online due to the COVID-19 outbreak.},
  abstract = {Code recommendation provides code fragments that the programmer likely to type in. One of the advanced code recommendation techniques is keyword programming, which can reflect the programmers' intention. Keyword programming lets the user specify keywords and recommends expressions that contain as many of them. Another one is neural code completion, which uses neural networks to recommend likely occurring expressions according to the context (the program text preceding the cursor position). Previous work showed that the accuracy of a keyword programming system is not high enough. One of the reasons is that the existing keyword programming always recommends shorter expressions without using the context information. In this presentation, we improve keyword programming by combining a neural code completion technique. In addition to the occurrence of keyword, the ranking algorithm incorporates the likeliness factor of the code fragment concerning the context. To estimate the likeliness, we utilize a neural network-based sentence generator. Thus, we can achieve a more complicatedly suitable code fragment and generate a candidate list varying along with different contexts. We implemented our proposal for Java called ACKN as an Eclipse plug-in. The implementation is publicly available.}
}
Powered by bibtexbrowser