研究課題/領域番号 |
21K11842
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 奈良工業高等専門学校 |
研究代表者 |
上野 秀剛 奈良工業高等専門学校, 情報工学科, 准教授 (70550094)
|
研究期間 (年度) |
2021-04-01 – 2026-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
4,030千円 (直接経費: 3,100千円、間接経費: 930千円)
2025年度: 650千円 (直接経費: 500千円、間接経費: 150千円)
2024年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
2023年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
2022年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2021年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
|
キーワード | プログラム理解 / ヒューマンファクター / 視線計測 / 構文木 / パターンマイニング / 視線 / 脳波 / 生体計測 / 生体情報 / マイクロプロセス |
研究開始時の研究の概要 |
本研究はプログラムを読み,その内容を理解する「プログラム理解」における熟練者と初心者の違いを明らかにすることを目的とする.プログラム理解の大部分は開発者の頭の中で行われるため,操作履歴や視線移動,脳活動を組み合わせることで理解速度や精度,不具合への気づきに影響を与えている要因を分析する.特に,1度の理解過程を複数のプロセスの組み合わせと見なし,各プロセスにおける特徴の差に着目した分析を行う.
|
研究実績の概要 |
昨年度までに画面上に表示されたソースコードを読む際の視線移動をソースコードから作成した構文木と対応づけることで,構文木上の要素に対する着目の時系列情報に変換する手法を開発し,プログラムとして実装した.本年度は実装したプログラムを用いて被験者実験で計測したプログラム理解時の視線移動を分析した.被験者実験では14人の被験者に16個のタスクを実施してもらい,計測誤差が発生した24件を除いた200件を分析の対象とした. 本研究ではプログラム理解の有無と重視して着目される構文要素の関係性を明らかにするために,各構文種類に対する注視割合を求め,タスクを正解した被験者群と不正解の被験者群を比較する.タスクで被験者に提示するソースコードにの構文木をANTLR が生成するパーサで求める.実験で用いるタスクは41種の意味ノードを含んでいるが,本実験では制御構造と文単位の視線移動に着目するため意味ノードを21個に再定義する.再定義においてはifやforなどの制御構造に属する条件判定式やブロック内の処理を他の要素と区別した. プログラム理解タスクに正解した被験者と不正解だった被験者の構文種類ごとの注視時間を比較すると正解時にfor文の初期化式やifの条件式,for/if/whileブロック内の文に対する注視の割合が多い一方で,不正解時にフィールドとメソッドの宣言やメソッドの仮引数,print文に対する注視の割合が高かった.正解した被験者がより多く着目した構文要素はプログラムの動作を制御する制御文とその処理内容であり,ソースコードの処理内容を理解する際に重要な要素であった可能性がある.一方で,不正解の被験者がより多く着目した構文要素はクラス宣言やメソッドの仮引数と処理結果の表示を行う print 文であり,処理に対する入力と出力の関係への着目を示唆している.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
申請時に提出した研究実施計画で予定していたとおり,2023年度末までに開発した分析手法を用いた被験者実験と分析が完了している.
|
今後の研究の推進方策 |
今年度の実験で得られた視線データを対象により詳細な分析を行う.ある単語に対する視線は,ブロックやメソッドなどより上位の構文要素に対する視線と見なすことも出来るため,視線移動を異なる粒度に分類した分析を行う.また,個々のタスクにおいてプログラム理解が進むことで着目する要素が変化していることが考えられる.視線移動が時系列情報であることを活用し,時間ごとに視線が停留する構文要素の差を分析する.
|