研究課題/領域番号 |
21K02862
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分09070:教育工学関連
|
研究機関 | 福知山公立大学 |
研究代表者 |
眞鍋 雄貴 (真鍋雄貴) 福知山公立大学, 情報学部, 講師 (20625339)
|
研究分担者 |
神田 哲也 大阪大学, 大学院情報科学研究科, 助教 (90780726)
|
研究期間 (年度) |
2021-04-01 – 2025-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
4,160千円 (直接経費: 3,200千円、間接経費: 960千円)
2023年度: 1,040千円 (直接経費: 800千円、間接経費: 240千円)
2022年度: 1,560千円 (直接経費: 1,200千円、間接経費: 360千円)
2021年度: 1,560千円 (直接経費: 1,200千円、間接経費: 360千円)
|
キーワード | プログラミング教育 / StackOverflow / プログラミング言語 / SBOM / 自動ビルド / 脆弱性 / ソフトウェアビルド / ソフトウェアパッケージ / SPDX / ソフトウェア工学 / プログラミング学習 / Q&Aコミュニティサイト / リポジトリマイニング / 変更履歴 / 自然言語処理 / 機械学習 |
研究開始時の研究の概要 |
本研究の目的はプログラミング初学者が自らプログラミングを学ぶ際に学習すべきプログラミング言語の要素を推薦する手法を確立することである.具体的にはStackOverflow(プログラミングに関連するQ&Aサイト)にある質問やその回答とプログラミング言語の要素間の対応関係を利用し,現時点で作成しているプログラムを書き進めるために必要な要素を特定する.本研究を成功させることができれば,プログラミングの基礎的な知識を持つ人材を多数育成できるとともに,わが国におけるソフトウェア開発者不足の解消につなげることが期待できる.
|
研究実績の概要 |
今年度は昨年度出来ていなかった自然言語による情報を用いて,プログラミング言語の要素を特定する手法の確立,並びに,変更候補に対して自然言語による情報を付加するための手法についての研究を行った. プログラミング言語の要素を特定する手法の確立を目指し,自然言語による情報としてプログラマ向けQ&AサイトであるStackOverflowの情報と,プログラミング言語間の紐づけを行うため,StackOverflowにおけるタグと記載内容間の関係について言語ドキュメントに登場する語を対象として調査した.この結果として,本文を中心に解析して投稿に関連するプログラミング言語の基本機能を抽出することと,言語ドキュメントから紐づけに使用する単語を適切に選択することが課題となることがわかった. 一方,変更候補に対して自然言語による情報を付加するための手法に対しては,大規模自然言語モデルを用いた手法による進展が目覚ましいことから,収集するソフトウェアの質向上を目指した.得られた成果としては以下の4点である1)プログラミング言語JavaやKotlinを用いて開発されている開発プロジェクトにおける,ビルドの成功率やエラーに関して調査を行い,ビルドの成功率の低さとその原因を明らかにした.2)Debianパッケージに対して,SPDX形式のSofrware Bill of Materials(SBOM)を作成するツールを作成・評価した.3) SPDX形式のSBOMを用いて,脆弱性診断とチェックサム検証を行うツールの作成・評価.4)SBOMに関するStackOverflow上の質問分析による課題発見.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
大規模自然言語モデルの進展により,入力中のソースコードから変更して得られる候補の作成手法や,変更候補に対して自然言語による情報を付加するための手法に関しては研究計画作成時から背景が大幅に変わってしまった.これにより,これらの手法の意義が失われてしまった.しかしながら,その基盤となるソフトウェア集合を高品質にするための課題や技術を蓄積することができた.一方で,Q&Aサイトの質問を自然言語による情報として,それらとプログラミング言語の要素の関係を特定することについてはそのための課題の洗い出しは終わっており,手法の実装に向けて進展している.
|
今後の研究の推進方策 |
当初計画のうち,自然言語とプログラミング言語ドキュメント間の対応に関連がある,自然言語による情報を用いたプログラミング言語の要素特定手法とその有用性評価に絞って成果の洗練を行いたい.特に,今年度の成果として得られた自然言語であるQ&Aサイトの質問とプログラミング言語ドキュメント間の紐づけにおける課題を踏まえたシステムの構築・評価を行いたい.また,ソースコードに関する部分は大きな変更が必要となるため,研究期間内での完成は厳しい.そのため,そのベースとなるソフトウェア集合をSBOMを利用しながら構築することを目指す.
|