2018 Fiscal Year Research-status Report
Investigations on applications of GitHub pull requests for code understanding support and programming education
Project/Area Number |
18K18088
|
Research Institution | The University of Tokyo |
Principal Investigator |
矢谷 浩司 東京大学, 大学院工学系研究科(工学部), 准教授 (60741353)
|
Project Period (FY) |
2018-04-01 – 2020-03-31
|
Keywords | ソフトウェア工学 / ユーザインタフェース / プログラミング支援 / プログラミング学習支援 / GitHub / プルリクエスト |
Outline of Annual Research Achievements |
現在のソフトウェア開発の主流プラットフォームであるGitHubでは,プルリクエストという,コードの変更に関する情報を一元的に管理する機能を利用した開発が活発に行われている.本研究ではプルリクエストを利活用した2つの新たなシステムの構築を通し,プルリクエストがコード開発や教育に対してどのように有効であるかを客観的な指標を用いて実証する.具体的には,プルリクエストを用いたコードの理解を支援するシステムとプルリクエストの情報から実世界のコード例を用いたプログラミング教育システムを構築し,プルリクエストの有用性を検証する.現在までに,以下の研究成果を挙げている. プルリクエストを用いたコードの理解を支援するシステムととして,ユーザが選択したコード断片に関連する過去のプルリクエストを抽出し,ユーザに提供する CodeGlass を開発した.CodeGlassでは,プルリクエストの説明文を解析し,実装内容や開発背景に関する文章をインターフェース上で強調して表示することが可能となっている.CodeGlass のアルゴリズムにより,選択されたコード断片が過去のバージョンにおいて分裂していた場合にも,関連する過去のプルリクエストをユーザに提供することができる.我々が行った CodeGlassの定量的および定性的評価の結果,コード断片の理解や専門的用途における CodeGlass の有用性が確認された. 実世界のコード例を用いたプログラミング教育システムとして,プルリクエストに存在するイシューとコード変更を用いることで,プログラミング課題を自動で生成するRealCodeというシステムを構築している.現在までにプログラミング課題に適するプルリクエストを抽出する機械学習モデルを構築した.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
現時点まででプルリクエストを用いたコードの理解を支援するシステムの構築とユーザ評価を終えており,また国内の査読付き会議において発表済みである.また,プルリクエストの情報から実世界のコード例を用いたプログラミング教育システムにおいても,必要なプルリクエストを抽出する機械学習モデルを構築できており,順調な進捗が生まれている.
|
Strategy for Future Research Activity |
今後は,プルリクエストの情報から実世界のコード例を用いたプログラミング教育システムの構築と評価を重点的に進める.特にプルリクエストから生成されたプログラミング課題が,どの程度課題として妥当であるか,また教科書等では提供されていない問題であるかを検証し,プログラミング教育においてどのような教材が提供できているかを検証する.
|
Causes of Carryover |
国際会議での調査,及び発表を次年度に繰り越したため,旅費を昨年度使用しないこととした.本年度はCodeGlassの発表等を国際会議で行う他,RealCodeの実装・評価に予算を割り当てる予定である.
|