機械学習を用いた省略識別子の復元手法 (ソフトウェアサイエンス) An Approach for Abbreviated Identifier Expansion with Machine Learning

この論文をさがす

著者

    • 岡嶋 秀記 OKAJIMA Hideki
    • 京都工芸繊維大学大学院工芸科学研究科 Graduate School of Science and Technology, Kyoto Institute of Technology
    • 水野 修 MIZUNO Osamu
    • 京都工芸繊維大学大学院工芸科学研究科 Graduate School of Science and Technology, Kyoto Institute of Technology

抄録

ソースコードの可読性はソフトウェアを開発・保守する上で重要な要素である.識別子はソースコードを正しく理解するための重要な情報源であるが,コーディング時にプログラマの判断でしばしば省略される場合がある.識別子の過度な省略は初見の読者にとって理解の妨げとなりうる.本報告では省略された識別子の元となった識別子を推定する手法を提案する.近年,深層学習を用いて自然言語を学習し,単語の意味を高次元のベクトルで表せるツールword2vecが注目されている.提案手法ではword2vecを用いてソースコードから識別子の意味を表すベクトルに変換し,ベクトル間の距離を比較する事で元の識別子を推定する.オープンソースプロジェクトのリポジトリを用いた事例研究の結果,既存の手法と比べて遜色のない精度が出せると分かった.また,完全に失敗した場合でも意味の関係が深い識別子を提示できるため,プログラミング支援のツールとして有効である.

The readability of source code is a crucial factor on software development and maintenance. Identifier is a essential clue to understand the content of source code, but identifiers are often abbreviated to short form by programmers. Unreasonable abbreviation causes hindrance to understanding for readers faced with unfamiliar code. This paper presents an approach for expanding identifiers using a tool "word2vec." The word2vec is a tool to learn the vector representations of the words in documents by deep learning. In this approach, the candidates of original identifier by transforming source code to the vector representation of identifiers and comparing short identifiers vector with long one are determined. The process on code of open source software repositories is evaluated and it is indicated that the proposed approach is able to successfully expand many abbreviated identifiers compares favourably with previous works. The present approach suggests some similar meaningful identifiers, of abbreviations can't expand correctly. Therefore it is concluded that the present approach is helpful for reading source code.

収録刊行物

  • 電子情報通信学会技術研究報告 = IEICE technical report : 信学技報

    電子情報通信学会技術研究報告 = IEICE technical report : 信学技報 114(510), 79-84, 2015-03-09

    一般社団法人電子情報通信学会

各種コード

  • NII論文ID(NAID)
    110010022018
  • NII書誌ID(NCID)
    AN10013287
  • 本文言語コード
    JPN
  • ISSN
    0913-5685
  • NDL 記事登録ID
    026327289
  • NDL 請求記号
    Z16-940
  • データ提供元
    NDL  NII-ELS 
ページトップへ