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)|2006. 11. 30.
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) 평가하기 위해.

제안 방법

  • 실제 객체지향 코드를 사용하여 초보자와 전문가 프로그래머를 대상으로 실험 연구를 수행하였다.
  • 시간이 지남에 따른 이해 변화를 평가하기 위해 두 단계(단계 1 및 단계 2)로 구성된 내부 피험자 설계를 사용하였다.
  • 참가자를 두 가지 과제 조건으로 배정: 문서화 및 코드 재사용.
  • 과제 후 평가를 통해 텍스트베이스(구문 및 구조)와 상황 모델(기능적 이해 및 시스템 동작)의 모델 구축을 측정하였다.
  • 참가자의 이해 결과물을 분류하고 분석하기 위해 van Dijk와 Kintsch(1983)의 정신 모델 프레임워크를 사용하였다.
  • 전문성, 과제, 단계, 모델 유형 간의 상호작용을 검증하기 위해 4원배치 분산분석(ANOVA)을 사용하였다.

실험 결과

연구 질문

  • RQ1프로그래머의 숙련도는 프로그램 이해 과정에서 텍스트베이스 및 상황 모델의 개발에 어떻게 영향을 미치는가?
  • RQ2프로그래밍 과제 유형(문서화 대비 재사용)은 초보자 및 전문가 프로그래머의 모델 구축에 어떻게 영향을 미치는가?
  • RQ3이해 과정이 두 단계(단계 1 및 단계 2)에 걸쳐 모델 개발 측면에서 어떻게 변화하는가?
  • RQ4전문성, 과제, 단계, 모델 유형 간에 프로그램 이해에서 유의미한 상호작용이 존재하는가?

주요 결과

  • 전문성, 단계, 과제, 모델 유형 간에 네 방향 상호작용이 발견되어 이해에 복잡하고 상호의존적인 영향이 있음을 시사한다.
  • 문서화 그룹에서 전문가와 초보자는 상황 모델 구축에서 다름을 보였지만, 프로그램 모델 개발에서는 유사한 경향을 보였다. 이는 전문가가 과제 유형에 관계없이 깊은 개념적 이해를 형성함을 시사한다.
  • 재사용 그룹에서는 단계, 전문성, 모델 유형 간의 삼중 상호작용이 발생했다: 초보자들은 시간이 지남에 따라 상황 모델 구축 능력이 향상되었지만, 프로그램 모델 구축 능력에는 변화가 없었다.
  • 초보자들은 이해 과정에서 자발적으로 강력한 상황 모델을 구축하지는 않았지만, 과제에서 명시적으로 요구될 경우 이를 수행할 수 있었으며, 이는 과제 중심의 모델 구축 방식을 의미한다.
  • 단계 효과는 초보자 재사용 참가자의 상황 모델 개발을 증가시켰다. 이는 시간과 과제 맥락이 경험 부족 개발자들의 개념적 이해 향상에 기여함을 보여준다.
  • 대부분의 조건에서 프로그램 모델 구축은 단계, 과제, 전문성의 영향을 거의 받지 않았다. 이는 문법적 이해가 더 안정적이고 외부 요인에 덜 영향을 받음을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.