• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2021 年度 実施状況報告書

テストケースを考慮したソースコード推薦環境の構築

研究課題

研究課題/領域番号 21K11839
研究機関龍谷大学

研究代表者

山本 哲男  龍谷大学, 先端理工学部, 准教授 (40388129)

研究期間 (年度) 2021-04-01 – 2024-03-31
キーワードソースコード推薦 / ソースコード補完 / ソースコードマイニング
研究実績の概要

ソースコードの記述の自由度の高さから、ソースコードを記述するプログラミング工程では欠陥を埋め込みやすい問題がある。この問題を解決するために、デザインパターンやイディオム(以降単にパターンと呼ぶ)と呼ばれる典型的なソースコードのパターン集を作成し、利用する場合があるが、パターンを作成することは難しい作業であり、また、パターンを利用するには開発者の能力が必要な作業である。
そこで、多くの品質の高いテストケースとソースコードから知識を自動的に抽出し、その知識を利用できれば、ソフトウェア開発に有効な手法が実現できる。ここで「知識」とはあるテストケースに対応したソースコードの組が与えられた時に、どのような入出力が与えられた際にどのような処理をすべきかという組を学習したものとなる。この知識を蓄えることで、開発者は次のどのような処理を記述すべきかが分かるようになり、生産性向上が見込める。
本年度は、実データに基づいたソースコードマイニング手法の確立した。ソースコードマイニングにはプログラム解析技術を利用しており、静的な解析手法を用いることにした。動的な手法をそのまま適用すると、空間・時間コストがかかり実用に耐えない。そのため、静的な手法で必要なデータのみを効率よく取得する手法を考案した。
具体的には、最初に既存のソースコードをその構成要素の最小単位であるトークン(構文解析後の情報を含む)の並びに変換する。その後、それらのトークン列に対して似たような出現場所に現れるトークンを同じ種類のトークンとして認識させる(異なる名前の変数名も似たような処理の中では同等とみなす)、最後に同じ種類のトークンをある特定の名前のトークンとしてソースコードを再構成する。

現在までの達成度 (区分)
現在までの達成度 (区分)

3: やや遅れている

理由

予定した計画よりはやや遅れている状況である。研究のキーとなるソースコードの解析手法については考案できたが、その手法を実装したツールが完成していない。予定では、プロトタイプ版を作成して発表する予定であったが、実施できていない。

今後の研究の推進方策

実装がやや遅れているため、今後は実装を完成させることに第一目標にする。その後、評価実験を実施して、国際会議などで研究発表を行い、海外の研究者などと議論を交わしさらなる改善点を探る。

次年度使用額が生じた理由

主として旅費として計上していた額が執行できなかった。当初、研究会やシンポジウムに参加することで情報収集や研究者との議論をする予定であったが、開発の遅れもあり発表に至らなかったためである。

URL: 

公開日: 2022-12-28  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi