Programing language elements recommendation system for novice programmers to learn
Project/Area Number |
21K02862
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Review Section |
Basic Section 09070:Educational technology-related
|
Research Institution | The University of Fukuchiyama |
Principal Investigator |
眞鍋 雄貴 (真鍋雄貴) 福知山公立大学, 情報学部, 講師 (20625339)
|
Co-Investigator(Kenkyū-buntansha) |
神田 哲也 大阪大学, 大学院情報科学研究科, 助教 (90780726)
|
Project Period (FY) |
2021-04-01 – 2024-03-31
|
Project Status |
Granted (Fiscal Year 2022)
|
Budget Amount *help |
¥4,160,000 (Direct Cost: ¥3,200,000、Indirect Cost: ¥960,000)
Fiscal Year 2023: ¥1,040,000 (Direct Cost: ¥800,000、Indirect Cost: ¥240,000)
Fiscal Year 2022: ¥1,560,000 (Direct Cost: ¥1,200,000、Indirect Cost: ¥360,000)
Fiscal Year 2021: ¥1,560,000 (Direct Cost: ¥1,200,000、Indirect Cost: ¥360,000)
|
Keywords | プログラミング教育 / ソフトウェアビルド / ソフトウェアパッケージ / SPDX / ソフトウェア工学 / プログラミング学習 / Q&Aコミュニティサイト / リポジトリマイニング / プログラミング言語 / 変更履歴 / 自然言語処理 / 機械学習 |
Outline of Research at the Start |
本研究の目的はプログラミング初学者が自らプログラミングを学ぶ際に学習すべきプログラミング言語の要素を推薦する手法を確立することである.具体的にはStackOverflow(プログラミングに関連するQ&Aサイト)にある質問やその回答とプログラミング言語の要素間の対応関係を利用し,現時点で作成しているプログラムを書き進めるために必要な要素を特定する.本研究を成功させることができれば,プログラミングの基礎的な知識を持つ人材を多数育成できるとともに,わが国におけるソフトウェア開発者不足の解消につなげることが期待できる.
|
Outline of Annual Research Achievements |
本年度は昨年度に行う予定であった1)Q&Aサイトの投稿が,プログラミング言語の要素をカバーしているかの調査,2)入力中のソースコードから変更して得られる候補の作成手法に関して研究を行った. 1)については,本研究課題全体を構成する要素を整理した.加えて,特にソースコードと学習要素を結びつける部分での課題についてStackOverflow上の質問とPythonチュートリアル内の文法事項の解説間の単語の出現頻度の違いに関する予備実験を行い,質問と文法事項の解説間で出現する単語の傾向が違うことが明らかになった.また,研究分担者を新たに加え,研究の遅れを取り戻す方策を取った. 2)については,元となるソースコードが利用可能なものであるかを判別することに関する研究を行った.まず,Debian パッケージを対象に依存関係の記述を含めた SPDX (Software Package Data Exchange)ファイルを自動生成するツールを開発した.本ツールは,オープンソースのソフトウェアパッケージを利用する際,そのパッケージが関連するソースコードに脆弱性がないかを確認するために重要である.次に,ソフトウェアの自動ビルドに関して,特に調査されていなかった,Androidアプリケーションを対象として調査を行った.本調査は,利用するソースコードが実際に利用可能な状態にすることができると考えてよいかを判断する材料となる.一方で,実際のソースコードをどのように用いるかという点については,近年の生成系AIの発展により,初学者が何もない状態からコードを書き始めるという当初の想定と異なる可能性が高くなったため,深層学習に詳しい協力者を得て,再検討を行った.
|
Current Status of Research Progress |
Current Status of Research Progress
4: Progress in research has been delayed.
Reason
研究期間初年度のコロナ禍による研究活動の制限などによる遅れを取り戻すべく,様々な方策を取ったが,今年度計画していた研究内容を行えずにいる. Q&Aサイトの質問とプログラミング言語ドキュメントの紐づけについては新たに分担者を設定し,また,分担者により新たに博士前期課程の学生1名を確保することができ,作業が進むようになった.しかし,参加時期の関係によりその成果の公表は次年度までずれ込む予定である. また,ソースコード変更候補の生成については,深層学習に詳しい研究協力者を得て,具体的な方法論の検討を始めることができるようにはなったものの,検討の結果,提案手法に昨今の生成系AIの急速な発展に伴う状況の変化が大きく影響するとの結論に至った.そのため,早急に計画の練り直しは行ったものの,具体的なアウトプットを得るに至っていない.
|
Strategy for Future Research Activity |
現状,Q&Aサイトの質問とプログラミング言語ドキュメントの紐づけについては分担者並びに学生1名の協力により推進できる目途が立ったのでこのまま進めていく予定である. 一方で,ソースコード変更候補の生成については初学者が0からソースコードを書き始めるというより,生成系AIを用いてソースコードを生成すると考え,これを前提として研究を進めることとする.また,研究協力者とも密に連携を取り,作業効率を上げたい. ただ,既に1年間遅れていることもあり,研究期間の延長も視野に入れて研究活動を行うこととする.
|
Report
(2 results)
Research Products
(3 results)