研究課題/領域番号 |
21K11831
|
研究機関 | 愛媛大学 |
研究代表者 |
阿萬 裕久 愛媛大学, 総合情報メディアセンター, 特任教授 (50333513)
|
研究分担者 |
天嵜 聡介 岡山県立大学, 情報工学部, 准教授 (00434978)
横川 智教 岡山県立大学, 情報工学部, 准教授 (50382362)
|
研究期間 (年度) |
2021-04-01 – 2024-03-31
|
キーワード | 変数名 / メソッド名 / コードレビュー / 開発者特性 / 統計解析 / ソフトウェア品質 |
研究実績の概要 |
2021年度は,プログラム中の変数名とメソッド名(関数名)に注目した研究を行った. まず,変数名に関しては,Java プログラムを対象として変数の名前,型,並びにスコープを自動的に解析して収集するツールを開発した.そして,600 を超えるオープンソース開発プロジェクトについてソースプログラムで使われている変数データの収集と分析を行った.その結果,多くの開発者たちが好む変数名の付け方や名前の長さ,名前の構成に関する有意義なデータセットを得ることができた. さらには,比較的好まれる命名法として複数の単語を結合させた複合語があり,そのような名前が複数登場することでかえって区別がつきにくい(紛らわしい)変数対が登場することにも注目した(例えば,lineIndex と lineIndent).そこで,レーベンシュタイン距離を使った文字列としての類似度と自然言語処理技術 Doc2Vec を用いた意味的な類似度の 2 つの観点から変数対での名前の紛らわしさを定量化して分析するという研究も行った.そして,実際に人間によるコードビューの妨げになると思われる紛らわしい変数対を自動検出する手法の提案を行った.以上の成果はそれぞれ 2 件の国際会議にて発表を行い,データも研究代表者の Web サイトで公開している. 次に,メソッド名に関しては,自然言語処理と機械学習を活用することで,内容との整合性に欠けた不適切なメソッド名を自動検出する手法の研究を行った.先行研究として,Doc2Vec, Word2Vec 及び CNN を活用した手法が知られていたが,本研究では近年注目を集めている Transformer を活用し,メソッド名をあえて隠したかたちで学習させ,その隠された部分を推定する機械学習モデルを活用する手法を提案した.評価実験の結果,先行研究を上回る精度で不適切なメソッド名を検出できることを示した.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
コロナ禍で移動制限があったこともあり,当初の計画よりも学会発表の件数が少なくなっており,それに伴って学術雑誌・国際会議への投稿数も計画よりも少し少なめとなっている.それでも初年度で 5 件の査読付き論文を発表できており,概ね順調に研究は進んでいると考える.
|
今後の研究の推進方策 |
現在,研究分担者と共著で国際会議へ 3 件投稿中であり,これらが採録されれば国際会議の場で発表を行い,多くの研究者と情報交換を行うことで研究の洗練化を図っていく予定である.仮に不採録となったとしても,査読コメントを参考に研究の改善・弱点の補強を行っていく.
あわせて,自動データ収集ツールの完成度を高め,より多くのデータ(特に Java 以外のプログラミング言語のデータ)を収集して研究の価値を高めていく.
|
次年度使用額が生じた理由 |
(理由) コロナ禍における移動制限が当初の予想よりも長引いていたため,国内外への学会参加が対面ではなくオンラインとなったことで旅費や参加費を計画通りに執行できなかった. (使用計画) 研究分担者と共同で国際会議(8月にスペインにて開催)に論文を投稿中であり,これが採録されれば現地での発表が可能となる.また,既に論文誌に採録が決定している論文があり,そちらの掲載料にも助成金を使用する予定である.
|
備考 |
論文一覧のページには,研究で収集したデータセットへのリンクも記載.
|