Skip to main content
QUICK REVIEW

[論文レビュー] Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase

Jean‐Marie Burkhardt, Françoise Détienne|arXiv (Cornell University)|Nov 30, 2006
Software Engineering Research参考文献 40被引用数 7
ひとこと要約

本研究は、プログラマーの熟練度、プログラミングタスク(ドキュメンテーション対リユース)、および理解段階が、オブジェクト指向プログラム理解におけるテキストベース(プログラムモデル)とシナリオモデル(心的理解)の構築にどのように影響するかを調査する。メンタルモデル枠組みを用いて、熟練度、タスク、段階、モデルタイプの四重相互作用が明らかになった。ドキュメンテーションでは熟練者と初心者がシナリオモデルの構築で差を示すが、リユースタスクでは初心者が必要な場合にのみシナリオモデルを構築する。これは、理解プロセスにおけるタスク駆動型の認知的適応を示している。

ABSTRACT

The goal of our study is to evaluate the effect on program comprehension of three factors that have not previously been studied in a single experiment. These factors are programmer expertise (expert vs. novice), programming task (documentation vs. reuse), and the development of understanding over time (phase 1 vs. phase 2). This study is carried out in the context of the mental model approach to comprehension based on van Dijk and Kintsch's model (1983). One key aspect of this model is the distinction between two kinds of representation the reader might construct from a text: 1) the textbase, which refers to what is said in the text and how it is said, and 2) the situation model, which represents the situation referred to by the text. We have evaluated the effect of the three factors mentioned above on the development of both the textbase (or program model) and the situation model in object-oriented program comprehension. We found a four-way interaction of expertise, phase, task and type of model. For the documentation group we found that experts and novices differ in the elaboration of their situation model but not their program model. There was no interaction of expertise with phase and type of model in the documentation group. For the reuse group, there was a three-way interaction between phase, expertise and type of model. For the novice reuse group, the effect of the phase was to increase the construction of the situation model but not the program model. With respect to the task, our results show that novices do not spontaneously construct a strong situation model but are able to do so if the task demands it.

研究の動機と目的

  • プログラマーの熟練度、タスクタイプ、理解段階の組合せ効果がプログラム理解に与える影響を検討すること。
  • これらの要因が、テキストベース(プログラムモデル)とシナリオモデル(システム動作の理解)の両方のメンタルモデルの構築にどのように影響するかを調査すること。
  • タスク要件(ドキュメンテーション対リユース)が熟練度レベルに応じてモデル発展に異なる影響を与えるかどうかを評価すること。
  • モデル構築との関連で、理解プロセスが時間経過とともにどのように変化するか(段階1対段階2)を評価すること。

提案手法

  • 実世界のオブジェクト指向コードを用いて、初心者および熟練プログラマーを対象に実験的調査を実施した。
  • 被験者内設計を採用し、理解の変化を時間的経過で評価するための2段階(段階1および段階2)を設けた。
  • 参加者を2つのタスク条件(ドキュメンテーションおよびコードリユース)に割り当てた。
  • タスク終了後の評価を通じて、テキストベース(構文および構造)とシナリオモデル(機能的理解およびシステム動作)の両方のモデル構築を測定した。
  • van DijkとKintsch(1983)のメンタルモデル枠組みを用いて、参加者の理解出力を分類・分析した。
  • 四重ANOVAを用いて、熟練度、タスク、段階、モデルタイプの間の相互作用を検証した。

実験結果

リサーチクエスチョン

  • RQ1プログラマーの熟練度は、プログラム理解の過程でテキストベースおよびシナリオモデルの発展にどのように影響するか?
  • RQ2プログラミングタスクの種別(ドキュメンテーション対リユース)は、初心者および熟練プログラマーにおけるモデル構築にどのように影響するか?
  • RQ3理解プロセスは、2段階(段階1および段階2)を通じて、モデル発展の観点からどのように変化するか?
  • RQ4熟練度、タスク、段階、モデルタイプの間で、プログラム理解において有意な四重相互作用が存在するか?

主な発見

  • 熟練度、段階、タスク、モデルタイプの間で四重相互作用が確認され、理解に複雑で相互に依存する影響があることが示された。
  • ドキュメンテーショングループでは、熟練者と初心者のシナリオモデル構築に差が認められたが、プログラムモデルの発展には差がなかった。これは、熟練者がタスクにかかわらずより深い概念的理解を形成していることを示唆している。
  • リユースグループでは、段階、熟練度、モデルタイプの三重相互作用が生じた:初心者は時間の経過とともにシナリオモデル構築が向上したが、プログラムモデル構築には変化がなかった。
  • 初心者は理解の過程で自発的に強いシナリオモデルを構築しなかったが、タスクで明示的に要求された場合には構築可能であった。これは、タスク駆動型のモデル構築が行われることを示している。
  • 段階効果は、初心者のリユース参加者におけるシナリオモデル発展を強化した。これは、時間的経過とタスク文脈が経験の少ない開発者の概念的理解を高める要因であることを示している。
  • プログラムモデル構築は、ほとんどの条件下で段階、タスク、熟練度の影響をほとんど受けていなかった。これは、文法的理解がより安定的で、外部要因の影響を受けにくいことを示している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。