2021 Fiscal Year Research-status Report
Project/Area Number |
21K11839
|
Research Institution | Ryukoku University |
Principal Investigator |
山本 哲男 龍谷大学, 先端理工学部, 准教授 (40388129)
|
Project Period (FY) |
2021-04-01 – 2024-03-31
|
Keywords | ソースコード推薦 / ソースコード補完 / ソースコードマイニング |
Outline of Annual Research Achievements |
ソースコードの記述の自由度の高さから、ソースコードを記述するプログラミング工程では欠陥を埋め込みやすい問題がある。この問題を解決するために、デザインパターンやイディオム(以降単にパターンと呼ぶ)と呼ばれる典型的なソースコードのパターン集を作成し、利用する場合があるが、パターンを作成することは難しい作業であり、また、パターンを利用するには開発者の能力が必要な作業である。 そこで、多くの品質の高いテストケースとソースコードから知識を自動的に抽出し、その知識を利用できれば、ソフトウェア開発に有効な手法が実現できる。ここで「知識」とはあるテストケースに対応したソースコードの組が与えられた時に、どのような入出力が与えられた際にどのような処理をすべきかという組を学習したものとなる。この知識を蓄えることで、開発者は次のどのような処理を記述すべきかが分かるようになり、生産性向上が見込める。 本年度は、実データに基づいたソースコードマイニング手法の確立した。ソースコードマイニングにはプログラム解析技術を利用しており、静的な解析手法を用いることにした。動的な手法をそのまま適用すると、空間・時間コストがかかり実用に耐えない。そのため、静的な手法で必要なデータのみを効率よく取得する手法を考案した。 具体的には、最初に既存のソースコードをその構成要素の最小単位であるトークン(構文解析後の情報を含む)の並びに変換する。その後、それらのトークン列に対して似たような出現場所に現れるトークンを同じ種類のトークンとして認識させる(異なる名前の変数名も似たような処理の中では同等とみなす)、最後に同じ種類のトークンをある特定の名前のトークンとしてソースコードを再構成する。
|
Current Status of Research Progress |
Current Status of Research Progress
3: Progress in research has been slightly delayed.
Reason
予定した計画よりはやや遅れている状況である。研究のキーとなるソースコードの解析手法については考案できたが、その手法を実装したツールが完成していない。予定では、プロトタイプ版を作成して発表する予定であったが、実施できていない。
|
Strategy for Future Research Activity |
実装がやや遅れているため、今後は実装を完成させることに第一目標にする。その後、評価実験を実施して、国際会議などで研究発表を行い、海外の研究者などと議論を交わしさらなる改善点を探る。
|
Causes of Carryover |
主として旅費として計上していた額が執行できなかった。当初、研究会やシンポジウムに参加することで情報収集や研究者との議論をする予定であったが、開発の遅れもあり発表に至らなかったためである。
|