研究課題/領域番号 |
21K11839
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 龍谷大学 |
研究代表者 |
山本 哲男 龍谷大学, 先端理工学部, 准教授 (40388129)
|
研究期間 (年度) |
2021-04-01 – 2024-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
4,160千円 (直接経費: 3,200千円、間接経費: 960千円)
2023年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
2022年度: 1,820千円 (直接経費: 1,400千円、間接経費: 420千円)
2021年度: 1,040千円 (直接経費: 800千円、間接経費: 240千円)
|
キーワード | ソースコード推薦 / ソースコード補完 / ソースコードマイニング |
研究開始時の研究の概要 |
開発者が自発的に行動して開発(コーディング)を進めていくのではなく、受動的に開発を進めていく統合開発環境を提案し、提案したシステムを構築する。従来の開発者が明示的に作業を指示していく開発環境ではなく、現在の開発状況に応じて適切な行動を促す開発環境を目指す。この開発環境を実現するために、多くの質の高いテストケースとソースコードの組から知識を抽出し、統合開発環境を通じてその知識を提供することで質の高いソフトウェア開発が可能となる。この環境を利用することで、開発時の生産性を上げ、不具合の少ないソースコードを短期間で記述できる効果が期待できる。
|
研究実績の概要 |
ソースコードの記述の自由度の高さから、ソースコードを記述するプログラミング工程では欠陥を埋め込みやすい問題がある。この問題を解決するために、デザインパターンやイディオム(以降単にパターンと呼ぶ)と呼ばれる典型的なソースコードのパターン集を作成し、利用する場合があるが、パターンを作成することは難しい作業であり、また、パターンを利用するには開発者の能力が必要な作業である。 そこで、多くの品質の高いテストケースとソースコードから知識を自動的に抽出し、その知識を利用できれば、ソフトウェア開発に有効な手法が実現できる。ここで「知識」とはあるテストケースに対応したソースコードの組が与えられた時に、どのような入出力が与えられた際にどのような処理をすべきかという組を学習したものとなる。この知識を蓄えることで、開発者は次のどのような処理を記述すべきかが分かるようになり、生産性向上が見込める。 本年度は、既存の統合開発環境であるEclipseに機能追加する形式で実装を行った。Eclipseのソースコード編集機能を改良し、ソースコードを入力する部分を常に監視することで実現できる。Eclipseでは、拡張のための仕組みが用意されており、さらにソースコードが公開されている。そのため、開発環境をすべて作成する必要がなく、監視する部分だけを作成するだけでよく、容易に実現可能である。また、ソースコードマイニングの実装においては、過去の研究のJavaソースコードのリポジトリ作成の経験を踏まえて作成した。今後は、作成した環境のテスト、及び予備実験を通してツールの改良する必要がある。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
予定した計画よりはやや遅れている状況である。研究のキーとなるソースコードの解析手法については基本実装はできたが、実装したツールによる実験ができていない。予定では、予備実験を実施して何らかの評価をする予定であった。
|
今後の研究の推進方策 |
実装したツールによる評価実験を行った後に、国際会議などで研究発表を行い、海外の研究者などと議論を交わしさらなる改善点を探る。 その後、実ソフトウェアへの適用、被験者による評価をする予定である。実ソフトウェアから知識を抽出することで、有能な開発者が作成したソースコードを利用することができ、さらに質の高いソースコードが補完できると考えている。そこで、世の中の多くのソースコードを収集し、手法が有効であるか確認するための評価を行う。その結果を踏まえ、最終的に論文にまとめて論文誌へ投稿する予定である。
|